Class: Navigatrix::Rendering::StrategyFactory
- Inherits:
-
Object
- Object
- Navigatrix::Rendering::StrategyFactory
- Defined in:
- lib/navigatrix/rendering/strategy_factory.rb
Defined Under Namespace
Classes: MissingStrategy
Constant Summary collapse
- DEFAULT_LIST_STRATEGY =
:unordered_list
- DEFAULT_ITEM_STRATEGY =
:item
Class Method Summary collapse
- .find_item_strategy(strategy_or_name, strategies = Navigatrix.item_renderers) ⇒ Object
- .find_list_strategy(strategy_or_name, strategies = Navigatrix.list_renderers) ⇒ Object
- .find_strategy(strategy_or_name, strategies, default) ⇒ Object
Class Method Details
.find_item_strategy(strategy_or_name, strategies = Navigatrix.item_renderers) ⇒ Object
13 14 15 |
# File 'lib/navigatrix/rendering/strategy_factory.rb', line 13 def self.find_item_strategy(strategy_or_name, strategies = Navigatrix.item_renderers) find_strategy(strategy_or_name, strategies, DEFAULT_ITEM_STRATEGY) end |
.find_list_strategy(strategy_or_name, strategies = Navigatrix.list_renderers) ⇒ Object
9 10 11 |
# File 'lib/navigatrix/rendering/strategy_factory.rb', line 9 def self.find_list_strategy(strategy_or_name, strategies = Navigatrix.list_renderers) find_strategy(strategy_or_name, strategies, DEFAULT_LIST_STRATEGY) end |
.find_strategy(strategy_or_name, strategies, default) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/navigatrix/rendering/strategy_factory.rb', line 17 def self.find_strategy(strategy_or_name, strategies, default) return strategy_or_name if strategy_or_name.is_a?(Class) strategy_or_name ||= default strategies.fetch(strategy_or_name) do raise(MissingStrategy, "can't find strategy #{strategy_or_name}") end end |