Class: Sunrise::Config::Navigation
- Inherits:
-
Object
- Object
- Sunrise::Config::Navigation
- Includes:
- Singleton
- Defined in:
- lib/sunrise/config/navigation.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#presenters ⇒ Object
Returns the value of attribute presenters.
Class Method Summary collapse
- .method_missing(method_name, *args, &block) ⇒ Object
-
.navigation(name, options = {}, &block) ⇒ Object
Configure menu items.
Instance Method Summary collapse
-
#initialize ⇒ Navigation
constructor
A new instance of Navigation.
- #item(item_name, url = nil, options = {}) ⇒ Object
- #navigations ⇒ Object
Constructor Details
#initialize ⇒ Navigation
Returns a new instance of Navigation.
30 31 32 33 34 |
# File 'lib/sunrise/config/navigation.rb', line 30 def initialize @navigations = nil @presenters = {} @current_name = :main end |
Instance Attribute Details
#presenters ⇒ Object
Returns the value of attribute presenters.
12 13 14 |
# File 'lib/sunrise/config/navigation.rb', line 12 def presenters @presenters end |
Class Method Details
.method_missing(method_name, *args, &block) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/sunrise/config/navigation.rb', line 21 def method_missing(method_name, *args, &block) if instance.respond_to?(method_name) instance.send(method_name, *args, &block) else super end end |
.navigation(name, options = {}, &block) ⇒ Object
Configure menu items
16 17 18 19 |
# File 'lib/sunrise/config/navigation.rb', line 16 def (name, = {}, &block) instance.presenters ||= {} instance.presenters[name] = PagePresenter.new(, &block) end |
Instance Method Details
#item(item_name, url = nil, options = {}) ⇒ Object
40 41 42 43 44 45 |
# File 'lib/sunrise/config/navigation.rb', line 40 def item(item_name, url = nil, = {}) url ||= index_path(model_name: item_name) @navigations[@current_name] ||= [] @navigations[@current_name] << NavigationItem.new(item_name, url, @current_name, ) end |
#navigations ⇒ Object
36 37 38 |
# File 'lib/sunrise/config/navigation.rb', line 36 def @navigations ||= end |