Class: BSFlow::Combine

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

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of Combine.



3
4
5
6
7
8
9
10
11
# File 'lib/bsflow/combine.rb', line 3

def initialize(*args, combine_proc: nil, sub_procs: [])
  if combine_proc
    @sub_procs = sub_procs
    @combine_proc = combine_proc
  else
    @sub_procs = args[0..-2]
    @combine_proc = args.last
  end
end

Instance Method Details

#call(*args) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/bsflow/combine.rb', line 13

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