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