Module: BusinessPipeline::Process::InstanceMethods

Defined in:
lib/business_pipeline/process.rb

Instance Method Summary collapse

Instance Method Details

#callObject



17
18
19
20
21
22
23
# File 'lib/business_pipeline/process.rb', line 17

def call
  self.class.steps.each do |step_class, block|
    step_config = BusinessPipeline::Config.new(config, &block)
    step = step_class.new(step_config)
    step.perform(context)
  end
end

#perform(context = {}) ⇒ Object



25
26
27
28
29
30
31
32
# File 'lib/business_pipeline/process.rb', line 25

def perform(context = {})
  config._processes ||= []
  config._processes << self

  config._processes.one? ? catch(:early_stop) { super } : super
ensure
  config._processes.pop
end