class Athena::Console::Input::Definition

Overview

Represents a collection of ACON::Input::Arguments and ACON::Input::Options that are to be parsed from an ACON::Input::Interface.

Can be used to set the inputs of an ACON::Command via the ACON::Command#definition= method if so desired, instead of using the dedicated methods.

Defined in:

input/definition.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(definition : ::Hash(String, ACON::Input::Option) | ::Hash(String, ACON::Input::Argument)) : self #

[View source]
def self.new(definition : Array(ACON::Input::Argument | ACON::Input::Option) = Array(ACON::Input::Argument | ACON::Input::Option).new) #

[View source]
def self.new(*definitions : ACON::Input::Argument | ACON::Input::Option) : self #

[View source]

Instance Method Detail

def <<(arguments : Array(ACON::Input::Argument | ACON::Input::Option)) : Nil #

Adds the provided arguments to self.


[View source]
def <<(argument : ACON::Input::Argument) : Nil #

Adds the provided argument to self.


[View source]
def <<(option : ACON::Input::Option) : Nil #

Adds the provided options to self.


[View source]
def argument(name_or_index : String | Int32) : ACON::Input::Argument #

Returns the ACON::Input::Argument with the provided name_or_index, otherwise raises ACON::Exceptions::InvalidArgument if that argument is not defined.


[View source]
def argument_count : Int32 #

Returns the number of ACON::Input::Arguments defined within self.


[View source]
def argument_defaults : ::Hash #

Returns a ::Hash whose keys/values represent the names and default values of the ACON::Input::Arguments defined within self.


[View source]
def arguments : ::Hash(String, ACON::Input::Argument) #

[View source]
def arguments=(arguments : Array(ACON::Input::Argument)) : Nil #

Overrides the arguments of self to those in the provided arguments array.


[View source]
def definition=(definition : Array(ACON::Input::Argument | ACON::Input::Option)) : Nil #

Overrides the arguments and options of self to those in the provided definition.


[View source]
def has_argument?(name_or_index : String | Int32) : Bool #

Returns true if self has an argument with the provided name_or_index.


[View source]
def has_negation?(name : String | Char) : Bool #

Returns true if self has a negation with the provided name, otherwise false.


[View source]
def has_option?(name_or_index : String | Int32) : Bool #

Returns true if self has an option with the provided name_or_index.


[View source]
def has_shortcut?(name : String | Char) : Bool #

Returns true if self has a shortcut with the provided name, otherwise false.


[View source]
def negation_to_name(negation : String) : String #

Returns the name of the ACON::Input::Option that maps to the provided negation.


[View source]
def option(name_or_index : String | Int32) : ACON::Input::Option #

Returns the ACON::Input::Option with the provided name_or_index, otherwise raises ACON::Exceptions::InvalidArgument if that option is not defined.


[View source]
def option_defaults : ::Hash #

Returns a ::Hash whose keys/values represent the names and default values of the ACON::Input::Options defined within self.


[View source]
def option_for_shortcut(shortcut : String | Char) : ACON::Input::Option #

Returns the name of the ACON::Input::Option with the provided shortcut.


[View source]
def options : ::Hash(String, ACON::Input::Option) #

[View source]
def options=(options : Array(ACON::Input::Option)) : Nil #

Overrides the options of self to those in the provided options array.


[View source]
def required_argument_count : Int32 #

[View source]
def synopsis(short : Bool = false) : String #

Returns an optionally short synopsis based on the ACON::Input::Arguments and ACON::Input::Options defined within self.

The synopsis being the docopt string representing the expected options/arguments. E.g. <name> move <x> <y> [--speed=<kn>]. ameba:disable Metrics/CyclomaticComplexity


[View source]