Class: Memento::Session
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Memento::Session
- Defined in:
- lib/memento/session.rb
Instance Method Summary collapse
Instance Method Details
#add_state(action_type, record) ⇒ Object
13 14 15 |
# File 'lib/memento/session.rb', line 13 def add_state(action_type, record) states.store(action_type, record) end |
#undo ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'lib/memento/session.rb', line 17 def undo states.map(&:undo).inject(Memento::ResultArray.new) do |results, result| result.state.destroy if result.success? results << result end ensure destroy if states.count.zero? end |
#undo! ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/memento/session.rb', line 26 def undo! transaction do undo.tap do |results| raise Memento::ErrorOnRewind if results.failed? end end end |