Module: DrinkMenu::MenuBuilder

Defined in:
lib/drink-menu/menu_builder.rb

Defined Under Namespace

Classes: Context

Instance Method Summary collapse

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



68
69
70
# File 'lib/drink-menu/menu_builder.rb', line 68

def [](label)
  @menus[label]
end

#build!Object



72
73
74
75
76
77
78
79
80
# File 'lib/drink-menu/menu_builder.rb', line 72

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!
    end
  end
end


58
59
60
61
# File 'lib/drink-menu/menu_builder.rb', line 58

def menu(label, title: title, &block)
  @menus ||= {}
  @menus[label] = Menu.menuWithLabel label, title: title, &block
end


28
29
30
31
# File 'lib/drink-menu/menu_builder.rb', line 28

def menuItem(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