Sha256: 0888a460fac5d18f85eea54e71a1ea9e5738ade6539d12684d0988b689101738

Contents?: true

Size: 603 Bytes

Versions: 20

Compression:

Stored size: 603 Bytes

Contents

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

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
factory_bot-6.4.3 lib/factory_bot/evaluation.rb
factory_bot-6.4.2 lib/factory_bot/evaluation.rb
factory_bot-6.4.1 lib/factory_bot/evaluation.rb
factory_bot-6.4.0 lib/factory_bot/evaluation.rb
factory_bot-6.3.0 lib/factory_bot/evaluation.rb
factory_bot-6.2.1 lib/factory_bot/evaluation.rb
factory_bot-6.2.0 lib/factory_bot/evaluation.rb
factory_bot-6.1.0 lib/factory_bot/evaluation.rb
factory_bot-6.0.2 lib/factory_bot/evaluation.rb
factory_bot-6.0.1 lib/factory_bot/evaluation.rb
factory_bot-6.0.0 lib/factory_bot/evaluation.rb
factory_bot-5.2.0 lib/factory_bot/evaluation.rb
factory_bot-5.1.2 lib/factory_bot/evaluation.rb
factory_bot-5.1.1 lib/factory_bot/evaluation.rb
factory_bot-5.1.0 lib/factory_bot/evaluation.rb
factory_bot-5.0.2 lib/factory_bot/evaluation.rb
factory_bot-5.0.1 lib/factory_bot/evaluation.rb
factory_bot-5.0.0 lib/factory_bot/evaluation.rb
factory_bot-5.0.0.rc2 lib/factory_bot/evaluation.rb
factory_bot-5.0.0.rc1 lib/factory_bot/evaluation.rb