Class: ActiveRecord::Store::HashAccessor

Inherits:
Object
  • Object
show all
Defined in:
activerecord/lib/active_record/store.rb

Overview

:nodoc:

Class Method Summary collapse

Class Method Details

.prepare(object, attribute) ⇒ Object



234
235
236
# File 'activerecord/lib/active_record/store.rb', line 234

def self.prepare(object, attribute)
  object.public_send :"#{attribute}=", {} unless object.send(attribute)
end

.read(object, attribute, key) ⇒ Object



224
225
226
227
# File 'activerecord/lib/active_record/store.rb', line 224

def self.read(object, attribute, key)
  prepare(object, attribute)
  object.public_send(attribute)[key]
end

.write(object, attribute, key, value) ⇒ Object



229
230
231
232
# File 'activerecord/lib/active_record/store.rb', line 229

def self.write(object, attribute, key, value)
  prepare(object, attribute)
  object.public_send(attribute)[key] = value if value != read(object, attribute, key)
end