class BusinessFlow::Step::Inputs

Represents inputs needed to execute a step.

Attributes

inputs[R]

Public Class Methods

new(inputs) click to toggle source
# File lib/business_flow/step.rb, line 9
def initialize(inputs)
  @inputs = inputs
end
process_input(source, input_value) click to toggle source
# File lib/business_flow/step.rb, line 23
def self.process_input(source, input_value)
  case input_value
  when Symbol
    source.send(input_value)
  when Proc
    source.instance_exec(&input_value)
  else
    input_value
  end
end

Public Instance Methods

parameters_from_source(source) click to toggle source
# File lib/business_flow/step.rb, line 13
def parameters_from_source(source)
  return source if inputs.blank?
  Hash[inputs.map do |input_name, input_value|
         [
           input_name,
           Inputs.process_input(source, input_value)
         ]
       end]
end