Class: KXI::CLI::AnonymousArgument

Inherits:
Argument
  • Object
show all
Defined in:
lib/kxi/cli/anonymous_argument.rb

Overview

Represents anonymous argument (eg.: verb VALUE)

Instance Method Summary collapse

Methods inherited from Argument

#description, #name, #order, #required?

Constructor Details

#initialize(nm, desc, rq = true, df = nil, var = false, &validator) ⇒ AnonymousArgument

Instantiates the KXI::CLI::AnonymousArgument class



37
38
39
40
41
42
# 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

Instance Method Details

#defaultObject

Gets default value of argument



9
10
11
# File 'lib/kxi/cli/anonymous_argument.rb', line 9

def default
	@def
end

#headlineString

Gets full descriptive name of argument



27
28
29
# File 'lib/kxi/cli/anonymous_argument.rb', line 27

def headline
	super.upcase
end

#syntaxString

Gets syntax of argument



21
22
23
# File 'lib/kxi/cli/anonymous_argument.rb', line 21

def syntax
	"#{required? ? '<' : '['}#{name}#{required? ? '>' : ']'}"
end

#validate(val) ⇒ Object

Validates value of argument



46
47
48
# File 'lib/kxi/cli/anonymous_argument.rb', line 46

def validate(val)
	@val.call(val) if @val != nil
end

#variadic?Bool

Gets whether argument is variadic



15
16
17
# File 'lib/kxi/cli/anonymous_argument.rb', line 15

def variadic?
	@var
end