命名空间
- 类 ActiveRecord::ConnectionAdapters::TransactionInstrumenter::InstrumentationAlreadyStartedError
- 类 ActiveRecord::ConnectionAdapters::TransactionInstrumenter::InstrumentationNotStartedError
方法
类公共方法
new(payload = {}) 链接
源代码: 显示 | 在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 78 def initialize(payload = {}) @handle = nil @started = false @payload = nil @base_payload = payload end
实例公共方法
finish(outcome) 链接
源代码: 显示 | 在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 97 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() 链接
源代码: 显示 | 在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 88 def start raise InstrumentationAlreadyStartedError.new("Called start on an already started transaction") if @started @started = true @payload = @base_payload.dup @handle = ActiveSupport::Notifications.instrumenter.build_handle("transaction.active_record", @payload) @handle.start end