Module: ActiveRemote::Dirty
Instance Method Summary collapse
- #disable_dirty_tracking ⇒ Object
- #enable_dirty_tracking ⇒ Object
-
#reload ⇒ Object
Override #reload to provide dirty tracking.
-
#remote ⇒ Object
Override #remote to provide dirty tracking.
-
#save ⇒ Object
Override #save to store changes as previous changes then clear them.
-
#save! ⇒ Object
Override #save to store changes as previous changes then clear them.
- #skip_dirty_tracking ⇒ Object
Instance Method Details
#disable_dirty_tracking ⇒ Object
15 16 17 |
# File 'lib/active_remote/dirty.rb', line 15 def disable_dirty_tracking @_active_remote_track_changes = false end |
#enable_dirty_tracking ⇒ Object
19 20 21 |
# File 'lib/active_remote/dirty.rb', line 19 def enable_dirty_tracking @_active_remote_track_changes = true end |
#reload ⇒ Object
Override #reload to provide dirty tracking.
25 26 27 28 29 30 |
# File 'lib/active_remote/dirty.rb', line 25 def reload(*) super.tap do @previously_changed.try(:clear) changed_attributes.clear end end |
#remote ⇒ Object
Override #remote to provide dirty tracking.
34 35 36 37 38 |
# File 'lib/active_remote/dirty.rb', line 34 def remote(*) super.tap do clear_changes_information end end |
#save ⇒ Object
Override #save to store changes as previous changes then clear them.
42 43 44 45 46 47 48 49 |
# File 'lib/active_remote/dirty.rb', line 42 def save(*) if (status = super) @previously_changed = changes changed_attributes.clear end status end |
#save! ⇒ Object
Override #save to store changes as previous changes then clear them.
53 54 55 56 57 58 |
# File 'lib/active_remote/dirty.rb', line 53 def save!(*) super.tap do @previously_changed = changes changed_attributes.clear end end |
#skip_dirty_tracking ⇒ Object
60 61 62 63 64 65 66 |
# File 'lib/active_remote/dirty.rb', line 60 def skip_dirty_tracking disable_dirty_tracking yield enable_dirty_tracking end |