Class: ActiveAdminMenu::Menu

Inherits:
Object
  • Object
show all
Defined in:
lib/active_admin_menu/menu.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeMenu

Returns a new instance of Menu.



5
6
7
# File 'lib/active_admin_menu/menu.rb', line 5

def initialize
  @items = []
end

Instance Attribute Details

#itemsObject (readonly)

Returns the value of attribute items.



3
4
5
# File 'lib/active_admin_menu/menu.rb', line 3

def items
  @items
end

Class Method Details

.buildObject



18
19
20
21
22
23
24
25
26
27
# File 'lib/active_admin_menu/menu.rb', line 18

def build
  new.tap do |menu|
    namespaced_source.each do |key, resource_names|
      parent = key == uncategorize_key_name ? nil : key
      resource_names.each do |resource_name|
        menu.add(resource_name: resource_name, parent: parent)
      end
    end
  end
end

Instance Method Details

#add(resource_name:, parent: nil) ⇒ Object



13
14
15
# File 'lib/active_admin_menu/menu.rb', line 13

def add(resource_name:, parent: nil)
  items << Item.new(resource_name: resource_name, parent: parent, priority: items.length + 1)
end

#find_item_by(resource_name:) ⇒ Object



9
10
11
# File 'lib/active_admin_menu/menu.rb', line 9

def find_item_by(resource_name:)
  items.detect { |item| item.resource_name == resource_name }
end