Module: ActiveRecord::BitField
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/active_record/bit_field.rb,
lib/active_record/bit_field/version.rb
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- VERSION =
"0.0.1"
Instance Method Summary collapse
- #bit_field_inquire_method(column, field) ⇒ Object
- #bit_field_setter_method(column, field, bool) ⇒ Object
- #bit_field_turn_bit_off_method(column, field) ⇒ Object
- #bit_field_turn_bit_on_method(column, field) ⇒ Object
Instance Method Details
#bit_field_inquire_method(column, field) ⇒ Object
23 24 25 |
# File 'lib/active_record/bit_field.rb', line 23 def bit_field_inquire_method(column, field) (read_attribute(column) & self.class.bit_field_get_column_mapper(column)[field.to_s]) != 0 end |
#bit_field_setter_method(column, field, bool) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/active_record/bit_field.rb', line 27 def bit_field_setter_method(column, field, bool) if bool bit_field_turn_bit_on_method(column, field) else bit_field_turn_bit_off_method(column, field) end end |
#bit_field_turn_bit_off_method(column, field) ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/active_record/bit_field.rb', line 15 def bit_field_turn_bit_off_method(column, field) value = read_attribute(column) if (value & self.class.bit_field_get_column_mapper(column)[field.to_s]) != 0 write_attribute(column, value ^ self.class.bit_field_get_column_mapper(column)[field.to_s]) end nil end |
#bit_field_turn_bit_on_method(column, field) ⇒ Object
9 10 11 12 13 |
# File 'lib/active_record/bit_field.rb', line 9 def bit_field_turn_bit_on_method(column, field) value = read_attribute(column) write_attribute(column, value | self.class.bit_field_get_column_mapper(column)[field.to_s]) nil end |