Class: BusinessFlow::DSL::FieldList

Inherits:
Object
  • Object
show all
Defined in:
lib/business_flow/dsl.rb

Overview

Responsible for creating fields on one or more classes and noting the of field

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(field_list, field_klass, klasses) ⇒ FieldList

Returns a new instance of FieldList.



323
324
325
326
327
328
# File 'lib/business_flow/dsl.rb', line 323

def initialize(field_list, field_klass, klasses)
  @field_list = []
  @field_klass = field_klass
  @klasses = [klasses].flatten
  add_fields(field_list)
end

Instance Attribute Details

#field_listObject (readonly)

Returns the value of attribute field_list.



321
322
323
# File 'lib/business_flow/dsl.rb', line 321

def field_list
  @field_list
end

Instance Method Details

#add_field(field) ⇒ Object



338
339
340
341
# File 'lib/business_flow/dsl.rb', line 338

def add_field(field)
  @klasses.each { |klass| field.add_to(klass) }
  @field_list.push(field.name)
end

#add_fields(fields) ⇒ Object



330
331
332
333
334
335
336
# File 'lib/business_flow/dsl.rb', line 330

def add_fields(fields)
  fields.each do |field|
    add_field(@field_klass.new(field))
  end
  @field_list.uniq! if fields.present?
  @field_list
end