Class: Climate::Argument
- Inherits:
-
Object
- Object
- Climate::Argument
- Includes:
- Described
- Defined in:
- lib/climate/parser.rb
Overview
argument definition is stored in these
Instance Attribute Summary collapse
-
#default ⇒ Object
readonly
Returns the value of attribute default.
Attributes included from Described
Instance Method Summary collapse
-
#initialize(name, description, options = {}) ⇒ Argument
constructor
A new instance of Argument.
- #multi? ⇒ Boolean
- #optional? ⇒ Boolean
- #required? ⇒ Boolean
- #usage ⇒ Object
Methods included from Described
Constructor Details
#initialize(name, description, options = {}) ⇒ Argument
Returns a new instance of Argument.
77 78 79 80 81 82 |
# File 'lib/climate/parser.rb', line 77 def initialize(name, description, ={}) super @required = .fetch(:required, ! .has_key?(:default)) @multi = .fetch(:multi, false) @default = .fetch(:default, nil) end |
Instance Attribute Details
#default ⇒ Object (readonly)
Returns the value of attribute default.
75 76 77 |
# File 'lib/climate/parser.rb', line 75 def default @default end |
Instance Method Details
#multi? ⇒ Boolean
86 |
# File 'lib/climate/parser.rb', line 86 def multi? ; @multi ; end |
#optional? ⇒ Boolean
85 |
# File 'lib/climate/parser.rb', line 85 def optional? ; ! required? ; end |
#required? ⇒ Boolean
84 |
# File 'lib/climate/parser.rb', line 84 def required? ; @required ; end |
#usage ⇒ Object
88 89 90 91 92 |
# File 'lib/climate/parser.rb', line 88 def usage string = "<#{name}>" string += '...' if multi? optional?? "[#{string}]" : string end |