Class: EverydayMenu::MenuItemList
- Inherits:
-
Object
- Object
- EverydayMenu::MenuItemList
- Defined in:
- lib/everyday-menu/menu.rb
Instance Method Summary collapse
- #<<(item) ⇒ Object
- #[](labelOrTag) ⇒ Object
- #each(&block) ⇒ Object
-
#initialize(menu) ⇒ MenuItemList
constructor
A new instance of MenuItemList.
- #selectItem(label) ⇒ Object (also: #select_item)
- #selectItemByMember(member) ⇒ Object (also: #select_item_by_member)
Constructor Details
#initialize(menu) ⇒ MenuItemList
Returns a new instance of MenuItemList.
151 152 153 154 |
# File 'lib/everyday-menu/menu.rb', line 151 def initialize() @menuItems = {} @menu = end |
Instance Method Details
#<<(item) ⇒ Object
156 157 158 159 160 161 |
# File 'lib/everyday-menu/menu.rb', line 156 def <<(item) previousItemTag = @menuItems.keys.last || 0 item[:tag] = previousItemTag + 1 @menuItems[item[:tag]] = item @menu.addItem item. end |
#[](labelOrTag) ⇒ Object
163 164 165 |
# File 'lib/everyday-menu/menu.rb', line 163 def [](labelOrTag) (labelOrTag.is_a? Fixnum) ? @menuItems[labelOrTag] : @menuItems.values.find { |item| item.label == labelOrTag } end |
#each(&block) ⇒ Object
183 184 185 |
# File 'lib/everyday-menu/menu.rb', line 183 def each(&block) @menuItems.values.each(&block) end |
#selectItem(label) ⇒ Object Also known as: select_item
167 168 169 170 |
# File 'lib/everyday-menu/menu.rb', line 167 def selectItem(label) item = self[label] item.execute end |
#selectItemByMember(member) ⇒ Object Also known as: select_item_by_member
174 175 176 177 178 179 |
# File 'lib/everyday-menu/menu.rb', line 174 def selectItemByMember(member) item = @menuItems.values.find do |i| i[:represented_object] == member end item.execute end |