mirror of
https://github.com/thoughtbot/factory_bot.git
synced 2022-11-09 11:43:51 -05:00
Move callback_names onto FactoryGirl module
This commit is contained in:
parent
8c3bdf8b82
commit
09e1cead5f
4 changed files with 9 additions and 17 deletions
|
@ -66,4 +66,8 @@ module FactoryGirl
|
|||
def self.trait_by_name(name)
|
||||
traits.find(name)
|
||||
end
|
||||
|
||||
def self.callback_names
|
||||
[:after_build, :after_create, :after_stub].freeze
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
module FactoryGirl
|
||||
class Callback
|
||||
VALID_NAMES = [:after_build, :after_create, :after_stub].freeze
|
||||
|
||||
attr_reader :name, :block
|
||||
|
||||
def initialize(name, block)
|
||||
|
@ -26,9 +24,9 @@ module FactoryGirl
|
|||
private
|
||||
|
||||
def check_name
|
||||
unless VALID_NAMES.include?(name)
|
||||
unless FactoryGirl.callback_names.include?(name)
|
||||
raise InvalidCallbackNameError, "#{name} is not a valid callback name. " +
|
||||
"Valid callback names are #{VALID_NAMES.inspect}"
|
||||
"Valid callback names are #{FactoryGirl.callback_names.inspect}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -85,6 +85,8 @@ module FactoryGirl
|
|||
@definition.declare_attribute(Declaration::Implicit.new(name, @definition, @ignore))
|
||||
elsif args.first.is_a?(Hash) && args.first.has_key?(:factory)
|
||||
association(name, *args)
|
||||
elsif FactoryGirl.callback_names.include?(name)
|
||||
@definition.add_callback(Callback.new(name, block))
|
||||
else
|
||||
add_attribute(name, *args, &block)
|
||||
end
|
||||
|
@ -138,18 +140,6 @@ module FactoryGirl
|
|||
@definition.declare_attribute(Declaration::Association.new(name, options))
|
||||
end
|
||||
|
||||
def after_build(&block)
|
||||
@definition.add_callback(Callback.new(:after_build, block))
|
||||
end
|
||||
|
||||
def after_create(&block)
|
||||
@definition.add_callback(Callback.new(:after_create, block))
|
||||
end
|
||||
|
||||
def after_stub(&block)
|
||||
@definition.add_callback(Callback.new(:after_stub, block))
|
||||
end
|
||||
|
||||
def to_create(&block)
|
||||
@definition.to_create(&block)
|
||||
end
|
||||
|
|
|
@ -28,7 +28,7 @@ describe FactoryGirl::Callback do
|
|||
end
|
||||
|
||||
it "allows valid callback names to be assigned" do
|
||||
FactoryGirl::Callback::VALID_NAMES.each do |callback_name|
|
||||
FactoryGirl.callback_names.each do |callback_name|
|
||||
expect { FactoryGirl::Callback.new(callback_name, lambda {}) }.
|
||||
to_not raise_error(FactoryGirl::InvalidCallbackNameError)
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue