Sha256: df4a6488ae924106f9ff350104350c2fa00834d86604e41b2608e54aed7682aa

Contents?: true

Size: 625 Bytes

Versions: 4

Compression:

Stored size: 625 Bytes

Contents

# frozen_string_literal: true

module Opera
  module Operation
    module Instructions
      module Executors
        class Step < Executor
          def call(instruction)
            method = instruction[:method]

            operation.result.add_execution(method) unless production_mode?
            operation.send(method)
          rescue StandardError => exception
            reporter&.error(exception)
            operation.result.add_exception(method, "#{exception.message}, for #{operation.inspect}", classname: operation.class.name)
            operation.result
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
opera-0.3.1 lib/opera/operation/instructions/executors/step.rb
opera-0.3.0 lib/opera/operation/instructions/executors/step.rb
opera-0.2.18 lib/opera/operation/instructions/executors/step.rb
opera-0.2.17 lib/opera/operation/instructions/executors/step.rb