Module: ARAfterTransaction::ClassMethods
- Defined in:
- lib/ar_after_transaction.rb
Constant Summary collapse
- @@after_transaction_callbacks =
[]
Instance Method Summary collapse
- #after_transaction(&block) ⇒ Object
- #normally_open_transactions ⇒ Object
- #normally_open_transactions=(value) ⇒ Object
- #transaction(*args, &block) ⇒ Object
Instance Method Details
#after_transaction(&block) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/ar_after_transaction.rb', line 21 def after_transaction(&block) if transactions_open? @@after_transaction_callbacks << block else yield end end |
#normally_open_transactions ⇒ Object
29 30 31 |
# File 'lib/ar_after_transaction.rb', line 29 def normally_open_transactions @@normally_open_transactions ||= 0 end |
#normally_open_transactions=(value) ⇒ Object
33 34 35 |
# File 'lib/ar_after_transaction.rb', line 33 def normally_open_transactions=(value) @@normally_open_transactions = value end |
#transaction(*args, &block) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/ar_after_transaction.rb', line 8 def transaction(*args, &block) clean = true super rescue Exception clean = false raise ensure unless transactions_open? callbacks = delete_after_transaction_callbacks callbacks.each(&:call) if clean end end |