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

Public Instance Methods

call(instruction) click to toggle source
Calls superclass method Opera::Operation::Executor#call
# File lib/opera/operation/instructions/executors/operation.rb, line 8
def call(instruction)
  instruction[:kind] = :step
  operation_result = super
  save_information(operation_result)

  if operation_result.success?
    add_instruction_output(instruction, operation_result.output)
    execution = result.executions.pop
    result.executions << { execution => operation_result.executions }
  else
    result.add_errors(operation_result.errors)
    result.add_exceptions(operation_result.exceptions)
  end
end

Private Instance Methods

save_information(operation_result) click to toggle source
# File lib/opera/operation/instructions/executors/operation.rb, line 25
def save_information(operation_result)
  return unless operation_result.respond_to?(:information)

  result.add_information(operation_result.information)
end