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

.get(store_object, key) ⇒ Object



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

def self.get(store_object, key)
  if store_object
    store_object[key]
  end
end

.prepare(object, attribute) ⇒ Object



250
251
252
253
254
255
256
257
258
259
# File 'activerecord/lib/active_record/store.rb', line 250

def self.prepare(object, attribute)
  store_object = object.public_send(attribute)

  if store_object.nil?
    store_object = {}
    object.public_send(:"#{attribute}=", store_object)
  end

  store_object
end

.read(object, attribute, key) ⇒ Object



240
241
242
243
# File 'activerecord/lib/active_record/store.rb', line 240

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

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



245
246
247
248
# File 'activerecord/lib/active_record/store.rb', line 245

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