Class: Redcar::Menu::Builder::Group

Inherits:
Object
  • Object
show all
Defined in:
plugins/application/lib/application/menu/builder/group.rb

Overview

An extension to the Builder to allow groups of menu object to inherit options.

This is supported for all options, even options that don't exist yet!

Currently, this is only useful in a practical sense to apply a :priority to a set of objects

Instance Method Summary (collapse)

Constructor Details

- (Group) initialize(builder, options = {}, &block)

A new instance of Group



13
14
15
16
17
18
19
20
21
22
# File 'plugins/application/lib/application/menu/builder/group.rb', line 13

def initialize(builder, options={}, &block)
  @builder = builder
  @defaults = options
  
  if block.arity == 1
    block.call(self)
  else
    instance_eval(&block)
  end
end

Instance Method Details

- (Object) append(item)



41
42
43
# File 'plugins/application/lib/application/menu/builder/group.rb', line 41

def append(item)
  @builder.append(item)
end

- (Object) item(text, options = {}, &block)



24
25
26
27
# File 'plugins/application/lib/application/menu/builder/group.rb', line 24

def item(text, options={}, &block)
  options = {:command => options} if not options.respond_to?('[]')
  @builder.item(text, @defaults.merge(options), &block)
end

- (Object) lazy_sub_menu(text, options = {}, &block)



37
38
39
# File 'plugins/application/lib/application/menu/builder/group.rb', line 37

def lazy_sub_menu(text, options={}, &block)
  @builder.lazy_sub_menu(text, @defaults.merge(options), &block)
end

- (Object) separator(options = {})



29
30
31
# File 'plugins/application/lib/application/menu/builder/group.rb', line 29

def separator(options={})
  @builder.separator(@defaults.merge(options))
end


33
34
35
# File 'plugins/application/lib/application/menu/builder/group.rb', line 33

def sub_menu(text, options={}, &block)
  @builder.sub_menu(text, @defaults.merge(options), &block)
end