Module: Kin::Nav
- Defined in:
- lib/kin/nav.rb,
lib/kin/nav/builder.rb,
lib/kin/nav/formatters.rb,
lib/kin/nav/helper_mixin.rb
Overview
The Nav class is used when creating main navigation navs. Typically this is the “Sets”, “Search”, “Your Account”, etc nav, but is also used for the sets subnav.
Defined Under Namespace
Modules: Formatters, Helper Classes: Builder, Item, ItemBuilder, ItemMatcher, Menu, MissingResource
Class Method Summary collapse
-
.get(name = :default) ⇒ Kin::Nav::Menu
Returns menu instance identified by
name
. -
.register(menu) ⇒ Object
private
Puts a menu instance into the registry.
-
.reset! ⇒ Object
Resets the registry.
-
.setup(name = :default, formatter = nil, &blk) ⇒ Kin::Nav::Menu
Sets up a new menu instance.
Class Method Details
.get(name = :default) ⇒ Kin::Nav::Menu
Returns menu instance identified by name
.
53 54 55 56 |
# File 'lib/kin/nav.rb', line 53 def self.get(name = :default) @registry ||= {} @registry[name] end |
.register(menu) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Puts a menu instance into the registry.
66 67 68 69 |
# File 'lib/kin/nav.rb', line 66 def self.register() @registry ||= {} @registry[.name] = end |
.reset! ⇒ Object
Resets the registry.
76 77 78 79 |
# File 'lib/kin/nav.rb', line 76 def self.reset! @registry = {} nil end |
.setup(name = :default, formatter = nil, &blk) ⇒ Kin::Nav::Menu
Sets up a new menu instance. See Showcase#setup_navs! for examples.
32 33 34 35 36 37 38 39 |
# File 'lib/kin/nav.rb', line 32 def self.setup(name = :default, formatter = nil, &blk) = Builder.new(name, formatter).build(&blk) .freeze .items.freeze .items.each { |i| i.freeze } register() end |