Sha256: ce69c04362cd4ca035a2f303e7b0393eb50f1720a0c1feb05b7c9be1b6498e25
Contents?: true
Size: 1.01 KB
Versions: 32
Compression:
Stored size: 1.01 KB
Contents
require 'sunrise/config/navigation_item' require 'singleton' module Sunrise module Config class Navigation include Singleton include Sunrise::Engine.routes.url_helpers attr_accessor :current_name attr_reader :navigations class << self # Configure menu items def navigation(name, options = nil) instance.current_name = name yield instance if block_given? end def method_missing(m, *args, &block) if instance.respond_to?(m) instance.send(m, *args, &block) else super end end end def initialize @navigations ||= {} @current_name = :main end def item(item_name, url = nil, options = {}) url ||= index_path(:model_name => item_name) @navigations[current_name] ||= [] @navigations[current_name] << NavigationItem.new(item_name, url, current_name, options) end end end end
Version data entries
32 entries across 32 versions & 1 rubygems