class Navigatrix::Rendering::StrategyFactory

Constants

DEFAULT_ITEM_STRATEGY
DEFAULT_LIST_STRATEGY

Public Class Methods

find_item_strategy(strategy_or_name, strategies = Navigatrix.item_renderers) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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