thoughtbot--factory_bot/lib/factory_bot/evaluation.rb

28 lines
603 B
Ruby

require "observer"
module FactoryBot
class Evaluation
include Observable
def initialize(evaluator, attribute_assigner, to_create)
@evaluator = evaluator
@attribute_assigner = attribute_assigner
@to_create = to_create
end
delegate :object, :hash, to: :@attribute_assigner
def create(result_instance)
case @to_create.arity
when 2 then @to_create[result_instance, @evaluator]
else @to_create[result_instance]
end
end
def notify(name, result_instance)
changed
notify_observers(name, result_instance)
end
end
end