class CommandKit::Arguments::Argument
Represents a defined argument.
@api private
Attributes
desc[R]
The argument's description.
@return [String]
name[R]
The argument's name.
@return [Symbol]
Public Class Methods
new(name, usage: name.to_s.upcase, required: true, repeats: false, desc: )
click to toggle source
Initializes the argument.
@param [Symbol] name
The name of the argument.
@param [String, nil] usage
The usage string for the argument. Defaults to the argument's name.
@param [Boolean] required
Specifies whether the argument is required or optional.
@param [Boolean] repeats
Specifies whether the argument can be repeated multiple times.
@param [String] desc
The description for the argument.
@yield [(value)]
If a block is given, it will be used to parse the argument's value. Note: not currently used.
@yieldparam [Object, nil] value
Calls superclass method
# File lib/command_kit/arguments/argument.rb, line 46 def initialize(name, usage: name.to_s.upcase, required: true, repeats: false, desc: ) super( usage: usage, required: required ) @name = name @repeats = repeats @desc = desc end
Public Instance Methods
repeats?()
click to toggle source
Specifies whether the argument can be repeated repeat times.
@return [Boolean]
# File lib/command_kit/arguments/argument.rb, line 65 def repeats? @repeats end
usage()
click to toggle source
The usage string for the argument.
@return [String]
# File lib/command_kit/arguments/argument.rb, line 74 def usage string = @usage string = "#{string} ..." if repeats? string = "[#{string}]" if optional? string end