Skip to content

class Athena::Console::Input::Option
inherits Reference #

Represents a value (or array of ) provided to a command as optional un-ordered flags that be setup to accept a value, or represent a boolean flag. Options can also have an optional shortcut, default value, and/or description.

Options are specified with two dashes, or one dash when using the shortcut. For example, ./console test --yell --dir=src -v. We have one option representing a boolean value, providing a value to another, and using the shortcut of another.

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

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

Constructors#

.new(name : String, shortcut : String | Enumerable(String) | Nil = nil, value_mode : ACON::Input::Option::Value = :none, description : String = "", default = nil) #

View source

Methods#

#==(other : self) #

Returns true if this reference is the same as other. Invokes same?.

View source

#accepts_value? #

Returns true if self is able to accept a value, otherwise false.

View source

#default(type : T.class) : T forall T #

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

View source

#default #

Returns the default value of self, if any.

View source

#default=(default = nil) : Nil #

Sets the default value of self.

View source

#description #

Returns the description of self.

View source

#is_array? #

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

View source

#name #

Returns the name of self.

View source

#negatable? #

Returns true if self is negatable, otherwise false.

View source

#shortcut #

Returns the shortcut of self, if any.

View source

#value_mode #

Returns the ACON::Input::Option::Value of self.

View source

#value_optional? #

Returns true if self accepts a value but is optional, otherwise false.

View source

#value_required? #

Returns true if self accepts a value and it is required, otherwise false.

View source