mirror of
https://github.com/thoughtbot/factory_bot.git
synced 2022-11-09 11:43:51 -05:00
Move registries to configuration
This commit is contained in:
parent
edb6eaf8af
commit
49392a6a31
3 changed files with 30 additions and 9 deletions
|
@ -2,6 +2,7 @@ require 'set'
|
||||||
require 'active_support/core_ext/module/delegation'
|
require 'active_support/core_ext/module/delegation'
|
||||||
require 'active_support/notifications'
|
require 'active_support/notifications'
|
||||||
|
|
||||||
|
require 'factory_girl/configuration'
|
||||||
require 'factory_girl/errors'
|
require 'factory_girl/errors'
|
||||||
require 'factory_girl/factory_runner'
|
require 'factory_girl/factory_runner'
|
||||||
require 'factory_girl/strategy_syntax_method_registrar'
|
require 'factory_girl/strategy_syntax_method_registrar'
|
||||||
|
@ -39,8 +40,16 @@ require 'factory_girl/reload'
|
||||||
require 'factory_girl/version'
|
require 'factory_girl/version'
|
||||||
|
|
||||||
module FactoryGirl
|
module FactoryGirl
|
||||||
|
def self.configuration
|
||||||
|
@configuration ||= Configuration.new
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.reset_configuration
|
||||||
|
@configuration = nil
|
||||||
|
end
|
||||||
|
|
||||||
def self.factories
|
def self.factories
|
||||||
@factories ||= DisallowsDuplicatesRegistry.new(Registry.new('Factory'))
|
configuration.factories
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.register_factory(factory)
|
def self.register_factory(factory)
|
||||||
|
@ -55,7 +64,7 @@ module FactoryGirl
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.sequences
|
def self.sequences
|
||||||
@sequences ||= DisallowsDuplicatesRegistry.new(Registry.new('Sequence'))
|
configuration.sequences
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.register_sequence(sequence)
|
def self.register_sequence(sequence)
|
||||||
|
@ -70,7 +79,7 @@ module FactoryGirl
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.traits
|
def self.traits
|
||||||
@traits ||= DisallowsDuplicatesRegistry.new(Registry.new('Trait'))
|
configuration.traits
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.register_trait(trait)
|
def self.register_trait(trait)
|
||||||
|
@ -85,7 +94,7 @@ module FactoryGirl
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.strategies
|
def self.strategies
|
||||||
@strategies ||= Registry.new('Strategy')
|
configuration.strategies
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.register_strategy(strategy_name, strategy_class)
|
def self.register_strategy(strategy_name, strategy_class)
|
||||||
|
@ -113,7 +122,7 @@ module FactoryGirl
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.callback_names
|
def self.callback_names
|
||||||
@callback_names ||= Set.new
|
configuration.callback_names
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.register_callback(name)
|
def self.register_callback(name)
|
||||||
|
|
14
lib/factory_girl/configuration.rb
Normal file
14
lib/factory_girl/configuration.rb
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
module FactoryGirl
|
||||||
|
# @api private
|
||||||
|
class Configuration
|
||||||
|
attr_reader :factories, :sequences, :traits, :strategies, :callback_names
|
||||||
|
|
||||||
|
def initialize
|
||||||
|
@factories = DisallowsDuplicatesRegistry.new(Registry.new('Factory'))
|
||||||
|
@sequences = DisallowsDuplicatesRegistry.new(Registry.new('Sequence'))
|
||||||
|
@traits = DisallowsDuplicatesRegistry.new(Registry.new('Trait'))
|
||||||
|
@strategies = Registry.new('Strategy')
|
||||||
|
@callback_names = Set.new
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,10 +1,8 @@
|
||||||
module FactoryGirl
|
module FactoryGirl
|
||||||
def self.reload
|
def self.reload
|
||||||
self.factories.clear
|
self.reset_configuration
|
||||||
self.sequences.clear
|
|
||||||
self.traits.clear
|
|
||||||
self.strategies.clear
|
|
||||||
self.register_default_strategies
|
self.register_default_strategies
|
||||||
|
self.register_default_callbacks
|
||||||
self.find_definitions
|
self.find_definitions
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue