Class: FactoryBot::AttributeAssigner Private
- Inherits:
-
Object
- Object
- FactoryBot::AttributeAssigner
- Defined in:
- lib/factory_bot/attribute_assigner.rb
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Instance Method Summary collapse
- #hash ⇒ Object private
-
#initialize(evaluator, build_class, &instance_builder) ⇒ AttributeAssigner
constructor
private
A new instance of AttributeAssigner.
- #object ⇒ Object private
Constructor Details
#initialize(evaluator, build_class, &instance_builder) ⇒ AttributeAssigner
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of AttributeAssigner.
4 5 6 7 8 9 10 |
# File 'lib/factory_bot/attribute_assigner.rb', line 4 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
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
22 23 24 25 26 27 28 |
# File 'lib/factory_bot/attribute_assigner.rb', line 22 def hash @evaluator.instance = build_hash attributes_to_set_on_hash.each_with_object({}) do |attribute, result| result[attribute] = get(attribute) end end |
#object ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
12 13 14 15 16 17 18 19 20 |
# File 'lib/factory_bot/attribute_assigner.rb', line 12 def object @evaluator.instance = build_class_instance build_class_instance.tap do |instance| attributes_to_set_on_instance.each do |attribute| instance.public_send(:"#{attribute}=", get(attribute)) @attribute_names_assigned << attribute end end end |