Class: Ace::Support::Cli::Command
- Inherits:
-
Object
- Object
- Ace::Support::Cli::Command
- Defined in:
- lib/ace/support/cli/command.rb
Class Attribute Summary collapse
-
.description ⇒ Object
readonly
Returns the value of attribute description.
Class Method Summary collapse
- .argument(name, type: :string, required: true, desc: "") ⇒ Object
- .arguments ⇒ Object
- .desc(text) ⇒ Object
- .example(lines) ⇒ Object
- .examples ⇒ Object
- .inherited(subclass) ⇒ Object
- .option(name, type: :string, default: nil, desc: "", aliases: [], values: nil, required: false, repeat: false, **_extra) ⇒ Object
- .options ⇒ Object
Instance Method Summary collapse
Class Attribute Details
.description ⇒ Object (readonly)
Returns the value of attribute description.
11 12 13 |
# File 'lib/ace/support/cli/command.rb', line 11 def description @description end |
Class Method Details
.argument(name, type: :string, required: true, desc: "") ⇒ Object
39 40 41 42 |
# File 'lib/ace/support/cli/command.rb', line 39 def argument(name, type: :string, required: true, desc: "") @arguments ||= [] @arguments << Models::Argument.new(name: name, type: type, required: required, desc: desc) end |
.arguments ⇒ Object
53 54 55 |
# File 'lib/ace/support/cli/command.rb', line 53 def arguments @arguments ||= [] end |
.desc(text) ⇒ Object
21 22 23 |
# File 'lib/ace/support/cli/command.rb', line 21 def desc(text) @description = text end |
.example(lines) ⇒ Object
44 45 46 47 |
# File 'lib/ace/support/cli/command.rb', line 44 def example(lines) @examples ||= [] @examples.concat(Array(lines).map(&:to_s)) end |
.examples ⇒ Object
57 58 59 |
# File 'lib/ace/support/cli/command.rb', line 57 def examples @examples ||= [] end |
.inherited(subclass) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/ace/support/cli/command.rb', line 13 def inherited(subclass) super subclass.instance_variable_set(:@description, description) subclass.instance_variable_set(:@options, .dup) subclass.instance_variable_set(:@arguments, arguments.dup) subclass.instance_variable_set(:@examples, examples.dup) end |
.option(name, type: :string, default: nil, desc: "", aliases: [], values: nil, required: false, repeat: false, **_extra) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/ace/support/cli/command.rb', line 25 def option(name, type: :string, default: nil, desc: "", aliases: [], values: nil, required: false, repeat: false, **_extra) @options ||= [] @options << Models::Option.new( name: name, type: type, default: default, desc: desc, aliases: aliases, values: values, required: required, repeat: repeat ) end |
.options ⇒ Object
49 50 51 |
# File 'lib/ace/support/cli/command.rb', line 49 def @options ||= [] end |
Instance Method Details
#call(**_params) ⇒ Object
62 63 64 |
# File 'lib/ace/support/cli/command.rb', line 62 def call(**_params) raise NotImplementedError, "#{self.class} must implement #call" end |