2017-10-20 19:20:28 +00:00
|
|
|
module FactoryBot
|
2012-05-05 06:31:31 +00:00
|
|
|
# @api private
|
2012-02-18 04:19:57 +00:00
|
|
|
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?
|
2012-04-13 18:20:19 +00:00
|
|
|
@name_or_object.is_a?(Class)
|
2012-02-18 04:19:57 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def strategy_name_to_object
|
2019-04-26 19:48:37 +00:00
|
|
|
FactoryBot::Internal.strategy_by_name(@name_or_object)
|
2012-02-18 04:19:57 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|