Sha256: eacd17e6748a6e2f85ac38cc3db5720bb8274afb6671e2695c42e60ca84a4123

Contents?: true

Size: 805 Bytes

Versions: 70

Compression:

Stored size: 805 Bytes

Contents

require "factory_girl/strategy/build"
require "factory_girl/strategy/create"
require "factory_girl/strategy/attributes_for"
require "factory_girl/strategy/stub"
require "observer"

module FactoryGirl
  class Strategy #:nodoc:
    include Observable

    def association(runner)
      raise NotImplementedError, "Strategies must return an association"
    end

    def result(attribute_assigner, to_create)
      raise NotImplementedError, "Strategies must return a result"
    end

    def self.ensure_strategy_exists!(strategy)
      unless Strategy.const_defined? strategy.to_s.camelize
        raise ArgumentError, "Unknown strategy: #{strategy}"
      end
    end

    private

    def run_callbacks(name, result_instance)
      changed
      notify_observers(name, result_instance)
    end
  end
end

Version data entries

70 entries across 66 versions & 5 rubygems

Version Path
classiccms-0.5.14 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
classiccms-0.5.13 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
classiccms-0.5.12 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
classiccms-0.5.11 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
classiccms-0.5.10 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
classiccms-0.5.9 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
classiccms-0.5.8 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
classiccms-0.5.7 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
classiccms-0.5.6 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
classiccms-0.5.5 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
classiccms-0.5.2 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
classiccms-0.5.1 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
classiccms-0.5.0 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
classiccms-0.4.2 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
classiccms-0.4.1 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
classiccms-0.4.0 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
classiccms-0.3.9 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
challah-0.6.2 vendor/bundle/gems/factory_girl-2.6.1/lib/factory_girl/strategy.rb
classiccms-0.3.8 vendor/bundle/gems/factory_girl-3.0.0/lib/factory_girl/strategy.rb
challah-0.6.1 vendor/bundle/gems/factory_girl-2.6.1/lib/factory_girl/strategy.rb