Class: AwesomeAdminLayout::Navigation::Item

Inherits:
Object
  • Object
show all
Defined in:
lib/awesome_admin_layout/navigation/item.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name = nil, options = {}) ⇒ Item

Returns a new instance of Item.



6
7
8
9
# File 'lib/awesome_admin_layout/navigation/item.rb', line 6

def initialize(name = nil, options = {})
  @item = { name: name }
  @parent = options[:parent]
end

Instance Attribute Details

#parentObject (readonly)

Returns the value of attribute parent.



4
5
6
# File 'lib/awesome_admin_layout/navigation/item.rb', line 4

def parent
  @parent
end

Instance Method Details

#__active?Boolean

Returns:

  • (Boolean)


40
41
42
43
44
# File 'lib/awesome_admin_layout/navigation/item.rb', line 40

def __active?
  return @item[:active] unless @item[:active].nil?
  return false unless @item[:link]
  AwesomeAdminLayout.active_url? @item[:link][:href]
end

#__has_active_nest?Boolean

Returns:

  • (Boolean)


50
51
52
53
# File 'lib/awesome_admin_layout/navigation/item.rb', line 50

def __has_active_nest?
  return false unless @item[:nest]
  @item[:nest].__has_active_item?
end

#__nested?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/awesome_admin_layout/navigation/item.rb', line 46

def __nested?
  @item[:nest] ? true : false
end

#active(active) ⇒ Object



19
20
21
# File 'lib/awesome_admin_layout/navigation/item.rb', line 19

def active(active)
  @item[:active] = active
end

#badge(badge) ⇒ Object



27
28
29
# File 'lib/awesome_admin_layout/navigation/item.rb', line 27

def badge(badge)
  @item[:badge] = badge
end

#icon(icon) ⇒ Object



23
24
25
# File 'lib/awesome_admin_layout/navigation/item.rb', line 23

def icon(icon)
  @item[:icon] = icon
end


15
16
17
# File 'lib/awesome_admin_layout/navigation/item.rb', line 15

def link(href, option = {})
  @item[:link] = option.merge(href: href)
end

#name(name = nil, &block) ⇒ Object



11
12
13
# File 'lib/awesome_admin_layout/navigation/item.rb', line 11

def name(name = nil, &block)
  @item[:name] = block_given? ? block : name
end

#nest(key) ⇒ Object



31
32
33
34
# File 'lib/awesome_admin_layout/navigation/item.rb', line 31

def nest(key)
  @item[:nest] = Navigation.find(key)
  @item[:nest].parent = parent
end

#to_sObject



36
37
38
# File 'lib/awesome_admin_layout/navigation/item.rb', line 36

def to_s
  %Q{<li#{" class=\"#{__css_class}\"" unless __css_class.empty?}>#{__link_to("#{__name_with_icon}#{__badge}#{__arrow}")}#{__nest}</li>}
end