Sha256: 0bd8b83c4714cd552ab3b427a80aa19d0c71620575e0db4756b0d9a2b07e2142
Contents?: true
Size: 962 Bytes
Versions: 88
Compression:
Stored size: 962 Bytes
Contents
module FactoryGirl # @api private class StrategySyntaxMethodRegistrar def initialize(strategy_name) @strategy_name = strategy_name end def define_strategy_methods define_singular_strategy_method define_list_strategy_method end private 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 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 def define_syntax_method(name, &block) FactoryGirl::Syntax::Methods.module_exec do define_method(name, &block) end end end end
Version data entries
88 entries across 79 versions & 5 rubygems