Class: Decidim::MenuItem

Inherits:
Object
  • Object
show all
Defined in:
lib/decidim/menu_item.rb

Overview

This class handles all logic regarding menu items

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(label, url, options = {}) ⇒ MenuItem

Builds a new menu item

Parameters:

  • label (String, Symbol)

    A compulsory label for the menu item

  • url (String, Symbol)

    The URL this item will link to

  • options (Hash) (defaults to: {})

    The options for the menu item



14
15
16
17
18
19
20
21
# File 'lib/decidim/menu_item.rb', line 14

def initialize(label, url, options = {})
  @label = label
  @url = url
  @position = options[:position] || Float::INFINITY
  @if = options[:if]
  @active = options[:active]
  @icon_name = options[:icon_name]
end

Instance Attribute Details

#activeObject (readonly)

Returns the value of attribute active.



23
24
25
# File 'lib/decidim/menu_item.rb', line 23

def active
  @active
end

#icon_nameObject (readonly)

Returns the value of attribute icon_name.



23
24
25
# File 'lib/decidim/menu_item.rb', line 23

def icon_name
  @icon_name
end

#labelObject (readonly)

Returns the value of attribute label.



23
24
25
# File 'lib/decidim/menu_item.rb', line 23

def label
  @label
end

#positionObject (readonly)

Returns the value of attribute position.



23
24
25
# File 'lib/decidim/menu_item.rb', line 23

def position
  @position
end

#urlObject (readonly)

Returns the value of attribute url.



23
24
25
# File 'lib/decidim/menu_item.rb', line 23

def url
  @url
end

Instance Method Details

#visible?Boolean

Returns:

  • (Boolean)


25
26
27
28
29
# File 'lib/decidim/menu_item.rb', line 25

def visible?
  return true if @if.nil? || @if

  false
end