Module: DrinkMenu::MenuBuilder
- Defined in:
- lib/drink-menu/menu_builder.rb
Defined Under Namespace
Classes: Context
Instance Method Summary collapse
- #<<(item) ⇒ Object
- #[](label) ⇒ Object
- #build! ⇒ Object
- #mainMenu(label, title: title, &block) ⇒ Object
- #menu(label, itemsFromCollection: collection, titleProperty: property) ⇒ Object
- #menuItem(label, &block) ⇒ Object
- #statusBarMenu(label, icon: image, &block) ⇒ Object
Instance Method Details
#<<(item) ⇒ Object
23 24 25 26 |
# File 'lib/drink-menu/menu_builder.rb', line 23 def <<(item) @menuItems ||= {} @menuItems[item.label] = item end |
#[](label) ⇒ Object
73 74 75 |
# File 'lib/drink-menu/menu_builder.rb', line 73 def [](label) @menus[label] end |
#build! ⇒ Object
77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/drink-menu/menu_builder.rb', line 77 def build! @menus.values.each do || context = Context.new(, @menuItems.dup) context.instance_eval(&.builder) if .builder if .needsStatusItem? .createStatusItem! elsif .needsMenuItem? @mainMenu ||= NSMenu.new @mainMenu.addItem .. end end setupMainMenu if @mainMenu end |
#mainMenu(label, title: title, &block) ⇒ Object
58 59 60 61 |
# File 'lib/drink-menu/menu_builder.rb', line 58 def mainMenu(label, title: title, &block) @menus ||= {} @menus[label] = Menu. label, title: title, menuItem: true, &block end |
#menu(label, itemsFromCollection: collection, titleProperty: property) ⇒ Object
63 64 65 66 |
# File 'lib/drink-menu/menu_builder.rb', line 63 def (label, title: title, &block) @menus ||= {} @menus[label] = Menu. label, title: title, &block end |
#menuItem(label, &block) ⇒ Object
28 29 30 31 |
# File 'lib/drink-menu/menu_builder.rb', line 28 def (label, title: title) @menuItems ||= {} @menuItems[label] = MenuItem.itemWithLabel label, title: title end |
#statusBarMenu(label, icon: image, &block) ⇒ Object
43 44 45 46 |
# File 'lib/drink-menu/menu_builder.rb', line 43 def statusBarMenu(label, title: title, &block) @menus ||= {} @menus[label] = Menu.statusMenuWithLabel label, title: title, &block end |