edge badge
Methods
P
R
W
Class Public methods
prepare(object, attribute)
# File activerecord/lib/active_record/store.rb, line 140
def self.prepare(object, attribute)
  object.public_send :"#{attribute}=", {} unless object.send(attribute)
end
read(object, attribute, key)
# File activerecord/lib/active_record/store.rb, line 127
def self.read(object, attribute, key)
  prepare(object, attribute)
  object.public_send(attribute)[key]
end
write(object, attribute, key, value)
# File activerecord/lib/active_record/store.rb, line 132
def self.write(object, attribute, key, value)
  prepare(object, attribute)
  if value != read(object, attribute, key)
    object.public_send :"#{attribute}_will_change!"
    object.public_send(attribute)[key] = value
  end
end