Class: FactoryGirlStepHelpers::HumanHashToAttributeHash::AssociationManager

Inherits:
Object
  • Object
show all
Defined in:
lib/factory_girl/step_definitions.rb

Instance Method Summary collapse

Constructor Details

#initialize(human_hash_to_attributes_hash, key, value) ⇒ AssociationManager

Returns a new instance of AssociationManager.



28
29
30
31
32
# File 'lib/factory_girl/step_definitions.rb', line 28

def initialize(human_hash_to_attributes_hash, key, value)
  @human_hash_to_attributes_hash = human_hash_to_attributes_hash
  @key   = key
  @value = value
end

Instance Method Details

#associationObject



34
35
36
# File 'lib/factory_girl/step_definitions.rb', line 34

def association
  @human_hash_to_attributes_hash.associations.detect {|association| association.name == @key }
end

#association_instanceObject



38
39
40
41
42
43
44
45
# File 'lib/factory_girl/step_definitions.rb', line 38

def association_instance
  return unless association

  if attributes_hash = nested_attribute_hash
    factory.build_class.find(:first, :conditions => attributes_hash.attributes(FindAttributes)) or
    FactoryGirl.create(association.factory, attributes_hash.attributes)
  end
end