Module: FactoryGirl::AttributeAssignerWithHashSupport

Defined in:
lib/factory_girl/attribute_assigner_with_hash_support.rb

Instance Method Summary collapse

Instance Method Details

#objectObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/factory_girl/attribute_assigner_with_hash_support.rb', line 4

def object
  @evaluator.instance = build_class_instance
  build_class_instance.tap do |instance|
    attributes_to_set_on_instance.each do |attribute|
      if instance.respond_to?("#{attribute}=")
        instance.public_send("#{attribute}=", get(attribute))
      elsif instance.respond_to?("[]=")
        instance[attribute] = get(attribute)
      else
        raise NoMethodError.new("undefined method `#{attribute}=' for #{instance}")
      end
      @attribute_names_assigned << attribute
    end
  end
end