class FactoryGirl::AttributeAssigner

@api private

Public Class Methods

new(evaluator, build_class, &instance_builder) click to toggle source
# File lib/factory_girl/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

Public Instance Methods

hash() click to toggle source
# File lib/factory_girl/attribute_assigner.rb, line 22
def hash
  @evaluator.instance = build_hash

  attributes_to_set_on_hash.inject({}) do |result, attribute|
    result[attribute] = get(attribute)
    result
  end
end
object() click to toggle source
# File lib/factory_girl/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.send("#{attribute}=", get(attribute))
      @attribute_names_assigned << attribute
    end
  end
end