lib/home_page/navigation.rb in home_page-0.0.3 vs lib/home_page/navigation.rb in home_page-0.0.4
- old
+ new
@@ -1,11 +1,20 @@
module HomePage
module Navigation
class Base
+ @@items = [:users, :authentication]
@@products = {}
@@menu_options = {}
+ def self.items
+ @@items
+ end
+
+ def self.items=(value)
+ @@items = value
+ end
+
def self.add_product(slug, text)
@@products[slug] = text
end
def self.products
@@ -26,11 +35,13 @@
def self.code
Proc.new do |navigation|
navigation.items do |primary, options|
primary.dom_class = 'nav navbar-nav'
- [:users, :authentication].each do |resource|
- instance_exec primary, ::HomePage::Navigation::Base.menu_options(resource), &::HomePage::Navigation.menu_code(resource)
+ ::HomePage::Navigation::Base.items.each do |item|
+ klass = "HomePage#{item.is_a?(Array) ? item.first.to_s.classify : ''}::Navigation"
+ item = item.is_a?(Array) ? item.last : item
+ instance_exec primary, HomePage::Navigation::Base.menu_options(item), &klass.constantize.menu_code(item)
end
end
end
end
\ No newline at end of file