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
menu(label, title: title, &block) click to toggle source
menuItem(label, title: title) click to toggle source
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