Class | SimpleNavigation::Configuration |
In: |
lib/simple_navigation/core/configuration.rb
|
Parent: | Object |
Responsible for evaluating and handling the config/navigation.rb file.
auto_highlight | [RW] | |
autogenerate_item_ids | [RW] | |
id_generator | [RW] | |
primary_navigation | [R] | |
renderer | [RW] | |
selected_class | [RW] |
Evals the config_file for the given navigation_context
# File lib/simple_navigation/core/configuration.rb, line 15 def eval_config(navigation_context = :default) SimpleNavigation.context_for_eval.instance_eval(SimpleNavigation.config_files[navigation_context]) end
Sets the config‘s default-settings
# File lib/simple_navigation/core/configuration.rb, line 27 def initialize @renderer = SimpleNavigation.default_renderer || SimpleNavigation::Renderer::List @selected_class = 'selected' @autogenerate_item_ids = true @id_generator = Proc.new {|id| id.to_s } @auto_highlight = true end
Starts processing the configuration
# File lib/simple_navigation/core/configuration.rb, line 20 def run(&block) block.call Configuration.instance end
This is the main method for specifying the navigation items. It can be used in two ways:
config.items do |primary| primary.item :my_item, 'My item', my_item_path ... end
items_provider should be:
The items you specify have to fullfill certain requirements. See SimpleNavigation::ItemAdapter for more details.
# File lib/simple_navigation/core/configuration.rb, line 53 def items(items_provider=nil, &block) raise 'please specify either items_provider or block, but not both' if (items_provider && block) || (items_provider.nil? && block.nil?) @primary_navigation = ItemContainer.new if block block.call @primary_navigation else @primary_navigation.items = SimpleNavigation::ItemsProvider.new(items_provider).items end end