Sha256: 6efd06e24fa9c297830db97151b5bfae33681e51c8030cf165c6575367fa90a7

Contents?: true

Size: 669 Bytes

Versions: 9

Compression:

Stored size: 669 Bytes

Contents

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

      @overrides = if traits_and_overrides.last.respond_to?(:has_key?)
                    traits_and_overrides.pop
                  else
                    {}
                  end
      @traits = traits_and_overrides
    end

    def run(strategy_override = nil, &block)
      strategy_override ||= @strategy
      factory = FactoryGirl.factory_by_name(@name)

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

      factory.run(strategy_override, @overrides, &block)
    end
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
challah-0.6.2 vendor/bundle/gems/factory_girl-2.6.1/lib/factory_girl/factory_runner.rb
challah-0.6.1 vendor/bundle/gems/factory_girl-2.6.1/lib/factory_girl/factory_runner.rb
challah-0.6.0 vendor/bundle/gems/factory_girl-2.6.1/lib/factory_girl/factory_runner.rb
challah-0.5.4 vendor/bundle/gems/factory_girl-2.6.1/lib/factory_girl/factory_runner.rb
challah-0.5.3 vendor/bundle/gems/factory_girl-2.6.1/lib/factory_girl/factory_runner.rb
challah-0.5.2 vendor/bundle/gems/factory_girl-2.6.1/lib/factory_girl/factory_runner.rb
factory_girl-2.6.2 lib/factory_girl/factory_runner.rb
challah-0.5.1 vendor/bundle/gems/factory_girl-2.6.1/lib/factory_girl/factory_runner.rb
factory_girl-2.6.1 lib/factory_girl/factory_runner.rb