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
30 31 32 33 |
# File 'lib/everyday-menu/menu_builder.rb', line 30 def <<(item) ||= {} [item.label] = item end |
#[](label) ⇒ Object
63 64 65 |
# File 'lib/everyday-menu/menu_builder.rb', line 63 def [](label) [label] end |
#add_main_menu(menu) ⇒ Object
81 82 83 84 |
# File 'lib/everyday-menu/menu_builder.rb', line 81 def () @mainMenu ||= NSMenu.new @mainMenu.addItem .. end |
#build! ⇒ Object
67 68 69 70 71 72 73 74 |
# File 'lib/everyday-menu/menu_builder.rb', line 67 def build! .values.each do || () () if .is :main_menu .runOnBuild end setupMainMenu if @mainMenu end |
#build_menu(menu) ⇒ Object
76 77 78 79 |
# File 'lib/everyday-menu/menu_builder.rb', line 76 def () context = Context.new(, .dup) context.instance_eval(&.builder) if .builder end |
#mainMenu(label, title, options = {}, &block) ⇒ Object Also known as:
42 43 44 45 46 |
# File 'lib/everyday-menu/menu_builder.rb', line 42 def mainMenu(label, title, = {}, &block) [:main_menu] = true ||= {} [label] = Menu.create(label, title, , &block) end |
#menu(label, title, options = {}, &block) ⇒ Object
50 51 52 53 54 |
# File 'lib/everyday-menu/menu_builder.rb', line 50 def (label, title, = {}, &block) [:main_menu] = false ||= {} [label] = Menu.create(label, title, , &block) end |
#menuItem(label, title, options = {}) ⇒ Object Also known as:
35 36 37 38 |
# File 'lib/everyday-menu/menu_builder.rb', line 35 def (label, title, = {}) [:submenu] = [[:submenu]] if .has_key?(:submenu) self << MenuItem.create(label, title, ) end |
#statusbarMenu(label, title, options = {}, &block) ⇒ Object
56 57 58 59 60 61 |
# File 'lib/everyday-menu/menu_builder.rb', line 56 def (label, title, = {}, &block) [:main_menu] = false [:status_item_title] = title unless .has_key?(:status_item_title) ||= {} [label] = Menu.create(label, title, , &block) end |