class BSFlow::Combine

Public Class Methods

new(*args, combine_proc: nil, sub_procs: []) click to toggle source
# 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

Public Instance Methods

call(*args) click to toggle source
# 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