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

Version Path
sunrise-cms-0.7.0.rc2 lib/sunrise/config/navigation.rb
sunrise-cms-0.7.0.rc1 lib/sunrise/config/navigation.rb
sunrise-cms-0.6.11 lib/sunrise/config/navigation.rb
sunrise-cms-0.6.10 lib/sunrise/config/navigation.rb
sunrise-cms-0.6.9 lib/sunrise/config/navigation.rb
sunrise-cms-0.6.8 lib/sunrise/config/navigation.rb
sunrise-cms-0.6.7 lib/sunrise/config/navigation.rb
sunrise-cms-0.6.6 lib/sunrise/config/navigation.rb
sunrise-cms-0.6.5 lib/sunrise/config/navigation.rb
sunrise-cms-0.6.4 lib/sunrise/config/navigation.rb
sunrise-cms-0.6.3 lib/sunrise/config/navigation.rb
sunrise-cms-0.6.2 lib/sunrise/config/navigation.rb
sunrise-cms-0.6.1 lib/sunrise/config/navigation.rb
sunrise-cms-0.6.0 lib/sunrise/config/navigation.rb
sunrise-cms-0.5.3 lib/sunrise/config/navigation.rb
sunrise-cms-0.5.2 lib/sunrise/config/navigation.rb
sunrise-cms-0.5.1 lib/sunrise/config/navigation.rb
sunrise-cms-0.5.0 lib/sunrise/config/navigation.rb
sunrise-cms-0.5.0.rc5 lib/sunrise/config/navigation.rb
sunrise-cms-0.5.0.rc4 lib/sunrise/config/navigation.rb