mirror of
https://github.com/thoughtbot/factory_bot.git
synced 2022-11-09 11:43:51 -05:00
99ac02400f
Why: These are essentially internal methods that should not be publicly available from the base namespace. One thing worth noticing is that the use of this methods internally was almost exclusively in the `syntax/default` except for one use on the `factory_bot/definition`. Also the deprecation silencing module was referring to the singleton instance of the ```ActiveRecord::Deprecation``` class and not to the new deprecation instance that was being used in the ```FactoryBot``` module. This PR: - Moves the `trait_by_name` and `register_trait` into the `FactoryBot::Internal` module - Deprecates uses of `trait_by_name`, `register_trait` and `traits` from the `FactoryBot` module. - Rename DEPRECATOR => Deprecation This is one of the steps towards fixing [this issue](https://github.com/thoughtbot/factory_bot/issues/1281)
35 lines
692 B
Ruby
35 lines
692 B
Ruby
module FactoryBot
|
|
# @api private
|
|
module Internal
|
|
class << self
|
|
delegate :inline_sequences, :traits, to: :configuration
|
|
|
|
def configuration
|
|
@configuration ||= Configuration.new
|
|
end
|
|
|
|
def reset_configuration
|
|
@configuration = nil
|
|
end
|
|
|
|
def register_inline_sequence(sequence)
|
|
inline_sequences.push(sequence)
|
|
end
|
|
|
|
def rewind_inline_sequences
|
|
inline_sequences.each(&:rewind)
|
|
end
|
|
|
|
def register_trait(trait)
|
|
trait.names.each do |name|
|
|
traits.register(name, trait)
|
|
end
|
|
trait
|
|
end
|
|
|
|
def trait_by_name(name)
|
|
traits.find(name)
|
|
end
|
|
end
|
|
end
|
|
end
|