Class: KXI::CLI::AnonymousArgument
- Defined in:
- lib/kxi/cli/anonymous_argument.rb
Overview
Represents anonymous argument (eg.: verb VALUE)
Instance Method Summary collapse
-
#default ⇒ Object
Gets default value of argument.
-
#headline ⇒ String
Gets full descriptive name of argument.
-
#initialize(nm, desc, rq = true, df = nil, var = false, &validator) ⇒ AnonymousArgument
constructor
Instantiates the AnonymousArgument class.
-
#syntax ⇒ String
Gets syntax of argument.
-
#validate(val) ⇒ Object
Validates value of argument.
-
#variadic? ⇒ Bool
Gets whether argument is variadic.
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
#default ⇒ Object
Gets default value of argument
9 10 11 |
# File 'lib/kxi/cli/anonymous_argument.rb', line 9 def default @def end |
#headline ⇒ String
Gets full descriptive name of argument
27 28 29 |
# File 'lib/kxi/cli/anonymous_argument.rb', line 27 def headline super.upcase end |
#syntax ⇒ String
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 |