Class: Sequent::Core::Transactions::ActiveRecordTransactionProvider

Inherits:
Object
  • Object
show all
Defined in:
lib/sequent/core/transactions/active_record_transaction_provider.rb

Instance Method Summary collapse

Instance Method Details

#after_commit(&block) ⇒ Object



14
15
16
# File 'lib/sequent/core/transactions/active_record_transaction_provider.rb', line 14

def after_commit(&block)
  after_commit_queue << block
end

#transactional(&block) ⇒ Object



7
8
9
10
11
12
# File 'lib/sequent/core/transactions/active_record_transaction_provider.rb', line 7

def transactional(&block)
  Sequent::ApplicationRecord.transaction(requires_new: true, &block)
  after_commit_queue.pop.call until after_commit_queue.empty?
ensure
  clear_after_commit_queue
end