Module: Bitfields::InstanceMethods

Defined in:
lib/bitfields.rb

Instance Method Summary collapse

Instance Method Details

#bitfield_changesObject



275
276
277
278
279
280
281
# File 'lib/bitfields.rb', line 275

def bitfield_changes
  self.class.bitfields.values.flat_map(&:keys).each_with_object({}) do |bit, changes|
    old = bitfield_value_was(bit)
    current = bitfield_value(bit)
    changes[bit.to_s] = [old, current] unless old == current
  end
end

#bitfield_values(column) ⇒ Object



271
272
273
# File 'lib/bitfields.rb', line 271

def bitfield_values(column)
  self.class.bitfields[column.to_sym].keys.to_h { |bit_name| [bit_name, bitfield_value(bit_name)] }
end