class Opera::Operation::Instructions::Executors::Transaction

Public Instance Methods

call(instruction) click to toggle source
Calls superclass method Opera::Operation::Executor#call
# File lib/opera/operation/instructions/executors/transaction.rb, line 10
def call(instruction)
  arguments = transaction_options ? [transaction_method, transaction_options] : [transaction_method]
  transaction_class.send(*arguments) do
    super

    return if !operation.finished? && result.success?

    raise(RollbackTransactionError)
  end
rescue RollbackTransactionError
  nil
end
transaction_class() click to toggle source
# File lib/opera/operation/instructions/executors/transaction.rb, line 23
def transaction_class
  config.transaction_class
end
transaction_method() click to toggle source
# File lib/opera/operation/instructions/executors/transaction.rb, line 27
def transaction_method
  config.transaction_method
end
transaction_options() click to toggle source
# File lib/opera/operation/instructions/executors/transaction.rb, line 31
def transaction_options
  config.transaction_options
end