method
commit_records
v6.1.7.7 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::Transaction
commit_records()public
No documentation available.
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 146
def commit_records
return unless records
ite = records.uniq(&:__id__)
already_run_callbacks = {}
while record = ite.shift
if @run_commit_callbacks
trigger_callbacks = record.trigger_transactional_callbacks?
should_run_callbacks = !already_run_callbacks[record] && trigger_callbacks
already_run_callbacks[record] ||= trigger_callbacks
record.committed!(should_run_callbacks: should_run_callbacks)
else
# if not running callbacks, only adds the record to the parent transaction
connection.add_transaction_record(record)
end
end
ensure
ite&.each { |i| i.committed!(should_run_callbacks: false) }
end