Sha256: 4e552152b7593edb53a29e67c9bb8165ca8311e4f9137a3dc24a008233769f16

Contents?: true

Size: 826 Bytes

Versions: 18

Compression:

Stored size: 826 Bytes

Contents

module FactoryBot
  class FactoryRunner
    def initialize(name, strategy, traits_and_overrides)
      @name = name
      @strategy = strategy

      @overrides = traits_and_overrides.extract_options!
      @traits = traits_and_overrides
    end

    def run(runner_strategy = @strategy, &block)
      factory = FactoryBot::Internal.factory_by_name(@name)

      factory.compile

      if @traits.any?
        factory = factory.with_traits(@traits)
      end

      instrumentation_payload = {
        name: @name,
        strategy: runner_strategy,
        traits: @traits,
        overrides: @overrides,
        factory: factory
      }

      ActiveSupport::Notifications.instrument("factory_bot.run_factory", instrumentation_payload) do
        factory.run(runner_strategy, @overrides, &block)
      end
    end
  end
end

Version data entries

18 entries across 17 versions & 3 rubygems

Version Path
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.1.0/gems/factory_bot-6.5.0/lib/factory_bot/factory_runner.rb
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.3.0/gems/factory_bot-6.5.0/lib/factory_bot/factory_runner.rb
factory_bot-6.5.0 lib/factory_bot/factory_runner.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/factory_bot-6.4.6/lib/factory_bot/factory_runner.rb
factory_bot-6.4.6 lib/factory_bot/factory_runner.rb
factory_bot-6.4.5 lib/factory_bot/factory_runner.rb
factory_bot-6.4.4 lib/factory_bot/factory_runner.rb
factory_bot-6.4.3 lib/factory_bot/factory_runner.rb
factory_bot-6.4.2 lib/factory_bot/factory_runner.rb
factory_bot-6.4.1 lib/factory_bot/factory_runner.rb
factory_bot-6.4.0 lib/factory_bot/factory_runner.rb
factory_bot-6.3.0 lib/factory_bot/factory_runner.rb
factory_bot-6.2.1 lib/factory_bot/factory_runner.rb
factory_bot-6.2.0 lib/factory_bot/factory_runner.rb
factory_bot-6.1.0 lib/factory_bot/factory_runner.rb
factory_bot-6.0.2 lib/factory_bot/factory_runner.rb
factory_bot-6.0.1 lib/factory_bot/factory_runner.rb
factory_bot-6.0.0 lib/factory_bot/factory_runner.rb