Class: Redcar::Menu::Builder::Group
- Inherits:
-
Object
- Object
- Redcar::Menu::Builder::Group
- 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)
- - (Object) append(item)
-
- (Group) initialize(builder, options = {}, &block)
constructor
A new instance of Group.
- - (Object) item(text, options = {}, &block)
- - (Object) lazy_sub_menu(text, options = {}, &block)
- - (Object) separator(options = {})
- - (Object) sub_menu(text, options = {}, &block)
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, ={}, &block) @builder = builder @defaults = 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, ={}, &block) = {:command => } if not .respond_to?('[]') @builder.item(text, @defaults.merge(), &block) end |
- (Object) lazy_sub_menu(text, options = {}, &block)
37 38 39 |
# File 'plugins/application/lib/application/menu/builder/group.rb', line 37 def (text, ={}, &block) @builder.(text, @defaults.merge(), &block) end |
- (Object) separator(options = {})
29 30 31 |
# File 'plugins/application/lib/application/menu/builder/group.rb', line 29 def separator(={}) @builder.separator(@defaults.merge()) end |
- (Object) sub_menu(text, options = {}, &block)
33 34 35 |
# File 'plugins/application/lib/application/menu/builder/group.rb', line 33 def (text, ={}, &block) @builder.(text, @defaults.merge(), &block) end |