Class: FixtureRecord::AssociationTraversal::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/fixture_record/association_traversal.rb

Instance Method Summary collapse

Constructor Details

#initialize(source_record, association) ⇒ Builder



15
16
17
18
# File 'lib/fixture_record/association_traversal.rb', line 15

def initialize(source_record, association)
  @source_record = source_record
  @association = association
end

Instance Method Details

#buildObject



20
21
22
23
24
25
26
27
28
29
# File 'lib/fixture_record/association_traversal.rb', line 20

def build
  case @association
  when Array then ArrayBuilder.new(@source_record, @association).build
  when Hash then HashBuilder.new(@source_record, @association).build
  when Symbol then SymbolBuilder.new(@source_record, @association).build
  else raise UnrecognizedAssociationTypeError.new(
    "Unrecognized association type of #{@association.class}. Valid types are Hash, Array, or Symbol"
  )
  end
end