Class: MenuBuilder::ViewHelpers::Menu

Inherits:
Object
  • Object
show all
Defined in:
lib/menu_builder/helper.rb

Instance Method Summary collapse

Constructor Details

#initialize(context) ⇒ Menu

Returns a new instance of Menu.



4
5
6
7
# File 'lib/menu_builder/helper.rb', line 4

def initialize(context)
  @context = context
  @menu_items = @context.instance_variable_get('@menu_items')
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(item, *args, &block) ⇒ Object



13
14
15
16
# File 'lib/menu_builder/helper.rb', line 13

def method_missing(item, *args, &block)
  css_class = "current" if included_in_current_items? item
  @context. :li, @context.link_to(*args, &block), :class=>css_class
end

Instance Method Details

#included_in_current_items?(item) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/menu_builder/helper.rb', line 9

def included_in_current_items?(item)
  @menu_items.present? && @menu_items.include?(item.to_sym)
end