@api private
# File lib/factory_girl/strategy_syntax_method_registrar.rb, line 4 def initialize(strategy_name) @strategy_name = strategy_name end
# File lib/factory_girl/strategy_syntax_method_registrar.rb, line 8 def define_strategy_methods define_singular_strategy_method define_list_strategy_method end
# File lib/factory_girl/strategy_syntax_method_registrar.rb, line 23 def define_list_strategy_method strategy_name = @strategy_name define_syntax_method("#{strategy_name}_list") do |name, amount, *traits_and_overrides| amount.times.map { send(strategy_name, name, *traits_and_overrides) } end end
# File lib/factory_girl/strategy_syntax_method_registrar.rb, line 15 def define_singular_strategy_method strategy_name = @strategy_name define_syntax_method(strategy_name) do |name, *traits_and_overrides, &block| FactoryRunner.new(name, strategy_name, traits_and_overrides).run(&block) end end
# File lib/factory_girl/strategy_syntax_method_registrar.rb, line 31 def define_syntax_method(name, &block) FactoryGirl::Syntax::Methods.module_exec do define_method(name, &block) end end