class EXEL::Instruction

Represents one step to be executed in the processing of a job

Public Class Methods

new(processor_class, args, subtree: nil) click to toggle source
# File lib/exel/instruction.rb, line 6
def initialize(processor_class, args, subtree: nil)
  @processor_class = processor_class
  @args = args || {}
  @subtree = subtree
end

Public Instance Methods

execute(context) click to toggle source
# File lib/exel/instruction.rb, line 12
def execute(context)
  context.merge!(@args)
  processor = @processor_class.new(context)
  EXEL.middleware.invoke(@processor_class, context, @args) { processor.process(@subtree) }
end