module CommandKit::Arguments::ClassMethods
Defines class-level methods.
Public Instance Methods
argument(name,**kwargs)
click to toggle source
Defines an argument for the class.
@param [Symbol] name
The name of the argument.
@param [Hash{Symbol => Object}] kwargs
Keyword arguments.
@option kwargs [String, nil] usage
The usage string for the argument. Defaults to the argument's name.
@option kwargs [Boolean] required
Specifies whether the argument is required or optional.
@option kwargs [Boolean] repeats
Specifies whether the argument can be repeated multiple times.
@option kwargs [String] desc
The description for the argument.
@return [Argument]
The newly defined argument.
@example Define an argument:
argument :bar, desc: "Bar argument"
@example With a custom usage string:
option :bar, usage: 'BAR', desc: "Bar argument"
@example With a custom type:
argument :bar, desc: "Bar argument"
@example With a default value:
argument :bar, default: "bar.txt", desc: "Bar argument"
@example An optional argument:
argument :bar, required: true, desc: "Bar argument"
@example A repeating argument:
argument :bar, repeats: true, desc: "Bar argument"
@api public
# File lib/command_kit/arguments.rb, line 143 def argument(name,**kwargs) arguments[name] = Argument.new(name,**kwargs) end
arguments()
click to toggle source
All defined arguments for the class.
@return [Hash{Symbol => Argument}]
The defined argument for the class and it's superclass.
@api semipublic
# File lib/command_kit/arguments.rb, line 87 def arguments @arguments ||= if superclass.kind_of?(ClassMethods) superclass.arguments.dup else {} end end