Module: Mongoid::History::Trackable::MyInstanceMethods
- Defined in:
- lib/mongoid/history/trackable.rb
Instance Method Summary collapse
- #create_embedded(name, value) ⇒ Object
- #get_embedded(name) ⇒ Object
- #history_tracks ⇒ Object
- #redo!(modifier = nil, options_or_version = nil) ⇒ Object
-
#undo!(modifier = nil, options_or_version = nil) ⇒ Object
undo :from => 1, :to => 5 undo 4 undo :last => 10.
Instance Method Details
#create_embedded(name, value) ⇒ Object
103 104 105 |
# File 'lib/mongoid/history/trackable.rb', line 103 def (name, value) send("create_#{self.class.embedded_alias(name)}!", value) end |
#get_embedded(name) ⇒ Object
99 100 101 |
# File 'lib/mongoid/history/trackable.rb', line 99 def (name) send(self.class.(name)) end |
#history_tracks ⇒ Object
70 71 72 |
# File 'lib/mongoid/history/trackable.rb', line 70 def history_tracks @history_tracks ||= Mongoid::History.tracker_class.where(scope: [:scope], association_chain: association_hash) end |
#redo!(modifier = nil, options_or_version = nil) ⇒ Object
88 89 90 91 92 93 94 95 96 97 |
# File 'lib/mongoid/history/trackable.rb', line 88 def redo!(modifier = nil, = nil) versions = get_versions_criteria().to_a versions.sort! { |v1, v2| v1.version <=> v2.version } versions.each do |v| redo_attr = v.redo_attr(modifier) attributes.merge!(redo_attr) end save! end |
#undo!(modifier = nil, options_or_version = nil) ⇒ Object
undo :from => 1, :to => 5
undo 4
undo :last => 10
77 78 79 80 81 82 83 84 85 86 |
# File 'lib/mongoid/history/trackable.rb', line 77 def undo!(modifier = nil, = nil) versions = get_versions_criteria().to_a versions.sort! { |v1, v2| v2.version <=> v1.version } versions.each do |v| undo_attr = v.undo_attr(modifier) attributes.merge!(undo_attr) end save! end |