Module: AfterTransactionCommit::Transaction

Defined in:
lib/after_transaction_commit/transaction.rb

Instance Method Summary collapse

Instance Method Details

#add_after_commit(block) ⇒ Object



15
16
17
# File 'lib/after_transaction_commit/transaction.rb', line 15

def add_after_commit(block)
  @after_commit_blocks << block
end

#commit_recordsObject



19
20
21
22
23
24
25
26
# File 'lib/after_transaction_commit/transaction.rb', line 19

def commit_records
  super
  if @run_commit_callbacks
    @after_commit_blocks.each(&:call)
  else
    connection.current_transaction.instance_variable_get(:@after_commit_blocks).concat(@after_commit_blocks)
  end
end

#initialize(connection, options, run_commit_callbacks: false) ⇒ Object



4
5
6
7
# File 'lib/after_transaction_commit/transaction.rb', line 4

def initialize(connection, **options)
  super
  @after_commit_blocks = []
end