Class: ActiveRecord::ConnectionAdapters::SavepointTransaction
- Inherits:
-
Object
- Object
- ActiveRecord::ConnectionAdapters::SavepointTransaction
- Defined in:
- lib/prefactory/active_record_integration.rb
Instance Method Summary collapse
Instance Method Details
#commit ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/prefactory/active_record_integration.rb', line 81 def commit connection.release_savepoint(savepoint_name) super if @fake_commit @savepoint_already_released = true commit_records else parent = connection.transaction_manager.current_transaction records.each { |r| parent.add_record(r) } end end |
#perform_commit ⇒ Object
102 103 104 105 106 107 108 109 110 |
# File 'lib/prefactory/active_record_integration.rb', line 102 def perform_commit connection.release_savepoint if @fake_commit @savepoint_already_released = true commit_records else records.each { |r| parent.add_record(r) } end end |
#perform_rollback ⇒ Object
95 96 97 98 99 100 |
# File 'lib/prefactory/active_record_integration.rb', line 95 def perform_rollback unless @savepoint_already_released connection.rollback_to_savepoint rollback_records end end |
#rollback ⇒ Object
73 74 75 76 77 78 79 |
# File 'lib/prefactory/active_record_integration.rb', line 73 def rollback unless @savepoint_already_released connection.rollback_to_savepoint(savepoint_name) super rollback_records end end |