method
commit_records
v6.0.0 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::Transaction
commit_records()public
No documentation available.
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 119
def commit_records
ite = records.uniq(&:object_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