class Athena::Console::Input::Argument

Overview

Represents a value (or array of values) provided to a command as a ordered positional argument, that can either be required or optional, optionally with a default value and/or description.

Arguments are strings separated by spaces that come after the command name. For example, ./console test arg1 "Arg2 with spaces".

Arguments can be added via the ACON::Command#argument method, or by instantiating one manually as part of an ACON::Input::Definition. The value of the argument could then be accessed via one of the ACON::Input::Interface#argument overloads.

See ACON::Input::Interface for more examples on how arguments/options are parsed, and how they can be accessed.

Defined in:

input/argument.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(name : String, mode : ACON::Input::Argument::Mode = :optional, description : String = "", default = nil, suggested_values : Array(String) | Proc(ACON::Completion::Input, Array(String)) | Nil = nil) #

[View source]

Instance Method Detail

def complete(input : ACON::Completion::Input, suggestions : ACON::Completion::Suggestions) : Nil #

Determines what values should be added to the possible suggestions based on the provided input.


[View source]
def default(type : T.class) : T forall T #

Returns the default value of self, if any, converted to the provided type.


[View source]
def default #

Returns the default value of self, if any.


[View source]
def default=(default = nil) #

Sets the default value of self.


[View source]
def description : String #

Returns the description of self.


[View source]
def has_completion? : Bool #

Returns true if this argument is able to suggest values, otherwise false


[View source]
def is_array? : Bool #

Returns true if self expects an array of values, otherwise false. ameba:disable Naming/PredicateName


[View source]

Returns the ACON::Input::Argument::Mode of self.


[View source]
def name : String #

Returns the name of the self.


[View source]
def required? : Bool #

Returns true if self is a required argument, otherwise false.


[View source]