class TroleGroups::Macros::Configuration::StrategyLoader
Public Class Methods
new(strategy, orm)
click to toggle source
Calls superclass method
TroleGroups::Macros::Configuration::BaseLoader::new
# File lib/trole_groups/macros/configuration/strategy_loader.rb, line 5 def initialize strategy, orm super end
Public Instance Methods
strategy_module()
click to toggle source
# File lib/trole_groups/macros/configuration/strategy_loader.rb, line 9 def strategy_module @strategy_module ||= orm_strategy_module || generic_strategy_module end
Protected Instance Methods
generic_strategy_module(strategy_name, options)
click to toggle source
# File lib/trole_groups/macros/configuration/strategy_loader.rb, line 24 def generic_strategy_module strategy_name, options @generic_module ||= begin base_class = base_name(strategy_name) # use generic if no ORM specific strategy found! ns = namespace(strategy_name, options) mods_found = ["#{namespace}::Strategy::#{strategy.to_s.camelize}", "#{namespace}::Strategy::#{base_class}"].select do |full_name| try_module(full_name) end !mods_found.empty? ? mods_found.first.constantize : nil end end
orm_strategy_module()
click to toggle source
# File lib/trole_groups/macros/configuration/strategy_loader.rb, line 15 def orm_strategy_module @orm_strategy_module ||= begin mods_found = ["#{orm_namespace}::Strategy::#{strategy.to_s.camelize}", "#{namespace}::Strategy::#{base_class}"].select do |full_name| try_module(full_name) end !mods_found.empty? ? mods_found.first.constantize : nil end end