mirror of
https://github.com/thoughtbot/factory_bot.git
synced 2022-11-09 11:43:51 -05:00
f82e40c8c5
Why: These methods are used internally for the functionality of the library and are subject to change. Therefore shouldn't be part of the public interface. This PR: - Moves the ```register_strategy```, ```register_callback```, ```register_default_factories```, ```register_default_callbacks``` ```strategies```, ```callback_names``` and ```strategy_by_name``` methods to the ```FactoryBot::Internal``` class. - Deprecates the use of ```register_callback``` from the ```FactoryBot``` module.
26 lines
473 B
Ruby
26 lines
473 B
Ruby
module FactoryBot
|
|
# @api private
|
|
class StrategyCalculator
|
|
def initialize(name_or_object)
|
|
@name_or_object = name_or_object
|
|
end
|
|
|
|
def strategy
|
|
if strategy_is_object?
|
|
@name_or_object
|
|
else
|
|
strategy_name_to_object
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def strategy_is_object?
|
|
@name_or_object.is_a?(Class)
|
|
end
|
|
|
|
def strategy_name_to_object
|
|
FactoryBot::Internal.strategy_by_name(@name_or_object)
|
|
end
|
|
end
|
|
end
|