Class: BSFlow::Combine

Inherits:
Object
  • Object
show all
Defined in:
lib/bsflow/combine.rb

Instance Method Summary collapse

Constructor Details

#initialize(*args, combine_proc:, sub_procs: []) ⇒ Combine

Returns a new instance of Combine.



3
4
5
6
# File 'lib/bsflow/combine.rb', line 3

def initialize(*args, combine_proc:, sub_procs: [])
  @sub_procs = args + sub_procs
  @combine_proc = combine_proc
end

Instance Method Details

#call(*args) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/bsflow/combine.rb', line 8

def call(*args)
  sub_proc_outputs = []
  @sub_procs.each do |sub_proc|
    sub_proc_outputs << sub_proc.call(*args)
  end
  @combine_proc.call(*sub_proc_outputs)
end