2019-02-12 00:16:56 +00:00
|
|
|
module FactoryBot
|
|
|
|
# @api private
|
|
|
|
module Internal
|
|
|
|
class << self
|
2019-04-26 19:48:37 +00:00
|
|
|
delegate :inline_sequences, :sequences, :traits, to: :configuration
|
2019-02-13 22:24:28 +00:00
|
|
|
|
2019-02-12 00:16:56 +00:00
|
|
|
def configuration
|
|
|
|
@configuration ||= Configuration.new
|
|
|
|
end
|
|
|
|
|
|
|
|
def reset_configuration
|
|
|
|
@configuration = nil
|
|
|
|
end
|
2019-02-13 22:24:28 +00:00
|
|
|
|
|
|
|
def register_inline_sequence(sequence)
|
|
|
|
inline_sequences.push(sequence)
|
|
|
|
end
|
|
|
|
|
|
|
|
def rewind_inline_sequences
|
|
|
|
inline_sequences.each(&:rewind)
|
|
|
|
end
|
2019-04-19 20:01:32 +00:00
|
|
|
|
|
|
|
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
|
2019-04-26 19:48:37 +00:00
|
|
|
|
|
|
|
def register_sequence(sequence)
|
|
|
|
sequence.names.each do |name|
|
|
|
|
sequences.register(name, sequence)
|
|
|
|
end
|
|
|
|
sequence
|
|
|
|
end
|
|
|
|
|
|
|
|
def sequence_by_name(name)
|
|
|
|
sequences.find(name)
|
|
|
|
end
|
|
|
|
|
|
|
|
def rewind_sequences
|
|
|
|
sequences.each(&:rewind)
|
|
|
|
rewind_inline_sequences
|
|
|
|
end
|
2019-02-12 00:16:56 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|