method
transaction
v1.0.0 -
Show latest stable
- Class:
ActiveRecord::Transactions::ClassMethods
transaction(*objects, &block)public
No documentation available.
# File activerecord/lib/active_record/transactions.rb, line 83
def transaction(*objects, &block)
previous_handler = trap('TERM') { raise TransactionError, "Transaction aborted" }
lock_mutex
begin
objects.each { |o| o.extend(Transaction::Simple) }
objects.each { |o| o.start_transaction }
result = connection.transaction(Thread.current['start_db_transaction'], &block)
objects.each { |o| o.commit_transaction }
return result
rescue Exception => object_transaction_rollback
objects.each { |o| o.abort_transaction }
raise
ensure
unlock_mutex
trap('TERM', previous_handler)
end
end 1Note
Information on 'ModelName.transaction'
If you are looking for information about:
ModelName.transaction do
...
end
or
transaction do
...
end
see ActiveRecord::Transactions::ClassMethods