module MarkMapper::Plugins::Dirty
Public Class Methods
new(*)
click to toggle source
Calls superclass method
# File lib/mark_mapper/plugins/dirty.rb, line 9 def initialize(*) # never register initial id assignment as a change # Chaining super into tap breaks implicit block passing in Ruby 1.8 doc = super doc.tap { changed_attributes.delete('_id') } end
Public Instance Methods
clear_changes() { |: true).tap do |result|| ... }
click to toggle source
# File lib/mark_mapper/plugins/dirty.rb, line 25 def clear_changes previous = changes (block_given? ? yield : true).tap do |result| unless result == false #failed validation; nil is OK. @previously_changed = previous changed_attributes.clear end
reload(*)
click to toggle source
Calls superclass method
# File lib/mark_mapper/plugins/dirty.rb, line 20 def reload(*) doc = super doc.tap { clear_changes } end
save(*)
click to toggle source
Calls superclass method
# File lib/mark_mapper/plugins/dirty.rb, line 16 def save(*) clear_changes { super } end