Module: Prompt::DSL
- Included in:
- Console::Builtins
- Defined in:
- lib/prompt/dsl.rb
Class Method Summary collapse
Instance Method Summary collapse
- #command(name, desc = nil, &block) ⇒ Object
- #desc(desc) ⇒ Object
- #dynamic_variable(name, desc, &block) ⇒ Object
- #variable(name, desc, values = nil) ⇒ Object
Class Method Details
.extended(base) ⇒ Object
7 8 9 10 11 12 13 14 |
# File 'lib/prompt/dsl.rb', line 7 def self.extended(base) name = if base.respond_to? :name base.name else "Commands" end Prompt.application.use_command_group(name) end |
Instance Method Details
#command(name, desc = nil, &block) ⇒ Object
20 21 22 |
# File 'lib/prompt/dsl.rb', line 20 def command(name, desc = nil, &block) Prompt.application.define_command(name, desc, @variables || {}, &block) end |
#desc(desc) ⇒ Object
16 17 18 |
# File 'lib/prompt/dsl.rb', line 16 def desc desc Prompt.application.use_command_group(desc) end |
#dynamic_variable(name, desc, &block) ⇒ Object
30 31 32 33 34 |
# File 'lib/prompt/dsl.rb', line 30 def dynamic_variable(name, desc, &block) @variables = [] unless defined? @variables raise "variable :#{name} is already defined" if @variables.find {|v| v.name == name} @variables << ProcVariable.new(name, desc, &block) end |
#variable(name, desc, values = nil) ⇒ Object
24 25 26 27 28 |
# File 'lib/prompt/dsl.rb', line 24 def variable(name, desc, values = nil) @variables = [] unless defined? @variables raise "variable :#{name} is already defined" if @variables.find {|v| v.name == name} @variables << Variable.new(name, desc, values) end |