Class: ActiveRecord::Store::HashAccessor
- Inherits:
-
Object
- Object
- ActiveRecord::Store::HashAccessor
show all
- Defined in:
- activerecord/lib/active_record/store.rb
Overview
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
221
222
223
224
|
# File 'activerecord/lib/active_record/store.rb', line 221
def self.read(object, attribute, key)
prepare(object, attribute)
object.public_send(attribute)[key]
end
|
.write(object, attribute, key, value) ⇒ Object
226
227
228
229
230
231
232
|
# File 'activerecord/lib/active_record/store.rb', line 226
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
|