Module: EverydayMenu::MenuBuilder
- Defined in:
- lib/everyday-menu/menu_builder.rb
Defined Under Namespace
Classes: Context
Instance Method Summary collapse
- #<<(item) ⇒ Object
- #[](label) ⇒ Object
- #add_main_menu(menu) ⇒ Object
- #build! ⇒ Object
- #build_menu(menu) ⇒ Object
- #mainMenu(label, title, options = {}, &block) ⇒ Object (also: #main_menu)
- #menu(label, title, options = {}, &block) ⇒ Object
- #menuItem(label, title, options = {}) ⇒ Object (also: #menu_item)
- #statusbarMenu(label, title, options = {}, &block) ⇒ Object
Instance Method Details
#<<(item) ⇒ Object
22 23 24 25 |
# File 'lib/everyday-menu/menu_builder.rb', line 22 def <<(item) @menuItems ||= {} @menuItems[item.label] = item end |
#[](label) ⇒ Object
55 56 57 |
# File 'lib/everyday-menu/menu_builder.rb', line 55 def [](label) @menus[label] end |
#add_main_menu(menu) ⇒ Object
73 74 75 76 |
# File 'lib/everyday-menu/menu_builder.rb', line 73 def () @mainMenu ||= NSMenu.new @mainMenu.addItem .. end |
#build! ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'lib/everyday-menu/menu_builder.rb', line 59 def build! @menus.values.each do || () () if .is :main_menu .runOnBuild end setupMainMenu if @mainMenu end |
#build_menu(menu) ⇒ Object
68 69 70 71 |
# File 'lib/everyday-menu/menu_builder.rb', line 68 def () context = Context.new(, @menuItems.dup) context.instance_eval(&.builder) if .builder end |
#mainMenu(label, title, options = {}, &block) ⇒ Object Also known as:
34 35 36 37 38 |
# File 'lib/everyday-menu/menu_builder.rb', line 34 def mainMenu(label, title, = {}, &block) [:main_menu] = true @menus ||= {} @menus[label] = Menu.create(label, title, , &block) end |
#menu(label, title, options = {}, &block) ⇒ Object
42 43 44 45 46 |
# File 'lib/everyday-menu/menu_builder.rb', line 42 def (label, title, = {}, &block) [:main_menu] = false @menus ||= {} @menus[label] = Menu.create(label, title, , &block) end |
#menuItem(label, title, options = {}) ⇒ Object Also known as:
27 28 29 30 |
# File 'lib/everyday-menu/menu_builder.rb', line 27 def (label, title, = {}) [:submenu] = @menus[[:submenu]] if .has_key?(:submenu) self << MenuItem.create(label, title, ) end |
#statusbarMenu(label, title, options = {}, &block) ⇒ Object
48 49 50 51 52 53 |
# File 'lib/everyday-menu/menu_builder.rb', line 48 def (label, title, = {}, &block) [:main_menu] = false [:status_item_title] = title unless .has_key?(:status_item_title) @menus ||= {} @menus[label] = Menu.create(label, title, , &block) end |