Class: RubyPipeline::BasePipeline

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_pipeline/base_pipeline.rb

Instance Method Summary collapse

Constructor Details

#initialize(steps = default_steps) ⇒ BasePipeline

Returns a new instance of BasePipeline.



5
6
7
# File 'lib/ruby_pipeline/base_pipeline.rb', line 5

def initialize(steps = default_steps)
  @steps = steps
end

Instance Method Details

#process(input = nil) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/ruby_pipeline/base_pipeline.rb', line 9

def process(input = nil)
  steps.inject(input) do |memo, step|
    step_result = time(step) { step.process(memo) }

    break failure(step) if step_result.nil?

    success(step)
    step_result
  end
end