Class: Refinery::Menu

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(objects = nil) ⇒ Menu

Returns a new instance of Menu.



13
14
15
16
17
18
19
20
# File 'lib/refinery/menu.rb', line 13

def initialize(objects = nil)
  objects.each do |item|
    item = item.to_refinery_menu_item if item.respond_to?(:to_refinery_menu_item)
    items << MenuItem.new(item.merge(:menu_id => id))
  end if objects

  ::Refinery.menus[self.id] = self
end

Instance Attribute Details

#idObject

Returns the value of attribute id.



22
23
24
# File 'lib/refinery/menu.rb', line 22

def id
  @id
end

#itemsObject

Returns the value of attribute items.



22
23
24
# File 'lib/refinery/menu.rb', line 22

def items
  @items
end

Instance Method Details

#inspectObject



41
42
43
# File 'lib/refinery/menu.rb', line 41

def inspect
  items.map(&:inspect)
end

#rootsObject



33
34
35
# File 'lib/refinery/menu.rb', line 33

def roots
  @roots ||= items.select {|item| item.parent_id.nil?}
end

#to_sObject



37
38
39
# File 'lib/refinery/menu.rb', line 37

def to_s
  items.map(&:title).join(' ')
end