1
0
Fork 0
mirror of https://github.com/thoughtbot/factory_bot.git synced 2022-11-09 11:43:51 -05:00
thoughtbot--factory_bot/lib/factory_bot/strategy_calculator.rb
Alejandro Dustet f82e40c8c5 Deprecate/Move strategies and callback methods
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.
2019-06-04 20:09:14 -04:00

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