module MongoMapper::Plugins::Dirty
Public Instance Methods
reload!()
click to toggle source
Calls superclass method
# File lib/mongo_mapper/plugins/dirty.rb, line 22 def reload! super.tap do clear_changes_information end end
save_to_collection(*)
click to toggle source
Calls superclass method
# File lib/mongo_mapper/plugins/dirty.rb, line 16 def save_to_collection(*) super.tap do changes_applied end end
Private Instance Methods
write_key(key_name, value)
click to toggle source
Calls superclass method
# File lib/mongo_mapper/plugins/dirty.rb, line 30 def write_key(key_name, value) key_name = unalias_key(key_name) if !keys.key?(key_name) super else # find the MongoMapper::Plugins::Keys::Key _, key = keys.detect { |n, v| n == key_name } # typecast to the new value old_value = read_key(key_name) new_value = key.set(value) # only mark changed if really changed value (after typecasting) unless old_value == new_value attribute_will_change!(key_name) end super end end