class KXI::CLI::AnonymousArgument

Represents anonymous argument (eg.: verb VALUE)

Public Class Methods

new(nm, desc, rq = true, df = nil, var = false, &validator) click to toggle source

Instantiates the {KXI::CLI::AnonymousArgument} class @param nm [String] Name of argument @param desc [String] Description of argument @param rq [Bool] Indicates whether argument is required @param df Default value of argument @param var [Bool] Indicates whether argument is variadic

Calls superclass method KXI::CLI::Argument::new
# File lib/kxi/cli/anonymous_argument.rb, line 37
def initialize(nm, desc, rq = true, df = nil, var = false, &validator)
        super(nm, desc, rq, 5 - (var ? 1 : 0) - (rq ? 0 : 1))
        @def = df
        @var = var
        @val = validator
end

Public Instance Methods

default() click to toggle source

Gets default value of argument @return [Object] Default value of argument

# File lib/kxi/cli/anonymous_argument.rb, line 9
def default
        @def
end
headline() click to toggle source

Gets full descriptive name of argument @return [String] Full name of argument

Calls superclass method KXI::CLI::Argument#headline
# File lib/kxi/cli/anonymous_argument.rb, line 27
def headline
        super.upcase
end
syntax() click to toggle source

Gets syntax of argument @return [String] Syntax of argument

# File lib/kxi/cli/anonymous_argument.rb, line 21
def syntax
        "#{required? ? '<' : '['}#{name}#{required? ? '>' : ']'}"
end
validate(val) click to toggle source

Validates value of argument @param val [String, Array<String>] Value of argument

# File lib/kxi/cli/anonymous_argument.rb, line 46
def validate(val)
        @val.call(val) if @val != nil
end
variadic?() click to toggle source

Gets whether argument is variadic @return [Bool] True if argument is variadic; false otherwise

# File lib/kxi/cli/anonymous_argument.rb, line 15
def variadic?
        @var
end