Class: FactoryGirl::AttributeAssigner
- Inherits:
-
Object
- Object
- FactoryGirl::AttributeAssigner
- Defined in:
- lib/factory_girl/attribute_assigner.rb
Instance Method Summary collapse
- #hash ⇒ Object
-
#initialize(evaluator, &instance_builder) ⇒ AttributeAssigner
constructor
A new instance of AttributeAssigner.
- #object ⇒ Object
Constructor Details
#initialize(evaluator, &instance_builder) ⇒ AttributeAssigner
Returns a new instance of AttributeAssigner.
3 4 5 6 7 8 |
# File 'lib/factory_girl/attribute_assigner.rb', line 3 def initialize(evaluator, &instance_builder) @instance_builder = instance_builder @evaluator = evaluator @attribute_list = evaluator.class.attribute_list @attribute_names_assigned = [] end |
Instance Method Details
#hash ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/factory_girl/attribute_assigner.rb', line 20 def hash @evaluator.instance = NullObject.new attributes_to_set_on_hash.inject({}) do |result, attribute| result[attribute] = get(attribute) result end end |
#object ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/factory_girl/attribute_assigner.rb', line 10 def object @evaluator.instance = build_class_instance build_class_instance.tap do |instance| attributes_to_set_on_instance.each do |attribute| instance.send("#{attribute}=", get(attribute)) @attribute_names_assigned << attribute end end end |