Namespace
- CLASS ActiveRecord::ConnectionAdapters::TransactionInstrumenter::InstrumentationAlreadyStartedError
- CLASS ActiveRecord::ConnectionAdapters::TransactionInstrumenter::InstrumentationNotStartedError
Methods
Class Public methods
new(payload = {}) Link
Instance Public methods
finish(outcome) Link
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 101 def finish(outcome) raise InstrumentationNotStartedError.new("Called finish on a transaction that hasn't started") unless @started @started = false @payload[:outcome] = outcome @handle.finish end
start() Link
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 90 def start raise InstrumentationAlreadyStartedError.new("Called start on an already started transaction") if @started @started = true ActiveSupport::Notifications.instrument("start_transaction.active_record", @base_payload) @payload = @base_payload.dup # We dup because the payload for a given event is mutated later to add the outcome. @handle = ActiveSupport::Notifications.instrumenter.build_handle("transaction.active_record", @payload) @handle.start end