class EverydayMenu::MenuItemList

Public Class Methods

new(menu) click to toggle source
# File lib/everyday-menu/menu.rb, line 160
def initialize(menu)
  @menuItems = {}
  @menu      = menu
end

Public Instance Methods

<<(item) click to toggle source
# File lib/everyday-menu/menu.rb, line 165
def <<(item)
  previousItemTag        = @menuItems.keys.last || 0
  item[:tag]             = previousItemTag + 1
  @menuItems[item[:tag]] = item
  @menu.addItem item.menuItem
end
[](labelOrTag) click to toggle source
# File lib/everyday-menu/menu.rb, line 172
def [](labelOrTag)
  (labelOrTag.is_a? Fixnum) ? @menuItems[labelOrTag] : @menuItems.values.find { |item| item.label == labelOrTag }
end
each(&block) click to toggle source
# File lib/everyday-menu/menu.rb, line 192
def each(&block)
  @menuItems.values.each(&block)
end
selectItem(label) click to toggle source
# File lib/everyday-menu/menu.rb, line 176
def selectItem(label)
  item = self[label]
  item.execute
end
Also aliased as: select_item
selectItemByMember(member) click to toggle source
# File lib/everyday-menu/menu.rb, line 183
def selectItemByMember(member)
  item = @menuItems.values.find do |i|
    i[:represented_object] == member
  end
  item.execute
end
Also aliased as: select_item_by_member
select_item(label)
Alias for: selectItem
select_item_by_member(member)
Alias for: selectItemByMember