module DrinkMenu::MenuBuilder
Public Instance Methods
<<(item)
click to toggle source
# File lib/drink-menu/menu_builder.rb, line 23 def <<(item) @menuItems ||= {} @menuItems[item.label] = item end
[](label)
click to toggle source
# File lib/drink-menu/menu_builder.rb, line 73 def [](label) @menus[label] end
build!()
click to toggle source
# File lib/drink-menu/menu_builder.rb, line 77 def build! @menus.values.each do |menu| context = Context.new(menu, @menuItems.dup) context.instance_eval(&menu.builder) if menu.builder if menu.needsStatusItem? menu.createStatusItem! elsif menu.needsMenuItem? @mainMenu ||= NSMenu.new @mainMenu.addItem menu.menuItemFromMenu!.menuItem end end setupMainMenu if @mainMenu end
mainMenu(label, title: title, &block)
click to toggle source
# File lib/drink-menu/menu_builder.rb, line 58 def mainMenu(label, title: title, &block) @menus ||= {} @menus[label] = Menu.menuWithLabel label, title: title, menuItem: true, &block end
statusBarMenu(label, title: title, &block)
click to toggle source
# 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
Private Instance Methods
setupMainMenu()
click to toggle source
# File lib/drink-menu/menu_builder.rb, line 93 def setupMainMenu NSApp.mainMenu = @mainMenu end