Class: Climate::Argument
- Inherits:
-
Object
- Object
- Climate::Argument
- Defined in:
- lib/climate/argument.rb
Instance Attribute Summary collapse
-
#description ⇒ Object
readonly
Returns the value of attribute description.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
- #formatted ⇒ Object
-
#initialize(name, description, options = {}) ⇒ Argument
constructor
A new instance of Argument.
- #multi? ⇒ Boolean
- #optional? ⇒ Boolean
- #required? ⇒ Boolean
- #usage ⇒ Object
Constructor Details
#initialize(name, description, options = {}) ⇒ Argument
Returns a new instance of Argument.
7 8 9 10 11 12 |
# File 'lib/climate/argument.rb', line 7 def initialize(name, description, ={}) @name = name @description = description @required = .fetch(:required, true) @multi = .fetch(:multi, false) end |
Instance Attribute Details
#description ⇒ Object (readonly)
Returns the value of attribute description.
5 6 7 |
# File 'lib/climate/argument.rb', line 5 def description @description end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
4 5 6 |
# File 'lib/climate/argument.rb', line 4 def name @name end |
Instance Method Details
#formatted ⇒ Object
24 25 26 |
# File 'lib/climate/argument.rb', line 24 def formatted required?? name.to_s.upcase : "[#{name.to_s.upcase}]" end |
#multi? ⇒ Boolean
16 |
# File 'lib/climate/argument.rb', line 16 def multi? ; @multi ; end |
#optional? ⇒ Boolean
15 |
# File 'lib/climate/argument.rb', line 15 def optional? ; ! required? ; end |
#required? ⇒ Boolean
14 |
# File 'lib/climate/argument.rb', line 14 def required? ; @required ; end |
#usage ⇒ Object
18 19 20 21 22 |
# File 'lib/climate/argument.rb', line 18 def usage string = "<#{name}>" string += '...' if multi? optional?? "[#{string}]" : string end |