class BusinessFlow::DSL::ClassMethods::Inputs

Holds metadata about inputs to a flow

Attributes

all[R]
needs[R]
optionals[R]

Public Class Methods

new(klass) click to toggle source
# File lib/business_flow/dsl.rb, line 11
def initialize(klass)
  @needs = FieldList.new([], ParameterField, klass)
  @optionals = FieldList.new([], ParameterField, klass)
  @all = []
end

Public Instance Methods

add_needs(fields) click to toggle source
# File lib/business_flow/dsl.rb, line 17
def add_needs(fields)
  @all += fields
  @all.uniq!
  @needs.add_fields(fields)
end
add_optional(fields) click to toggle source
# File lib/business_flow/dsl.rb, line 23
def add_optional(fields)
  @all += fields
  @all.uniq!
  @optionals.add_fields(fields)
end
add_wants(field) click to toggle source
# File lib/business_flow/dsl.rb, line 29
def add_wants(field)
  @all << field.name
  @all.uniq!
  @optionals.add_field(field)
end