Class: Thor::Argument
- Inherits:
-
Object
- Object
- Thor::Argument
- Defined in:
- lib/thor/parser/argument.rb
Overview
:nodoc:
Direct Known Subclasses
Constant Summary
- VALID_TYPES =
[ :numeric, :hash, :array, :string ]
Instance Attribute Summary (collapse)
-
- (Object) banner
readonly
Returns the value of attribute banner.
-
- (Object) default
readonly
Returns the value of attribute default.
-
- (Object) description
readonly
Returns the value of attribute description.
-
- (Object) enum
readonly
Returns the value of attribute enum.
-
- (Object) name
(also: #human_name)
readonly
Returns the value of attribute name.
-
- (Object) required
readonly
Returns the value of attribute required.
-
- (Object) type
readonly
Returns the value of attribute type.
Instance Method Summary (collapse)
-
- (Argument) initialize(name, options = {})
constructor
A new instance of Argument.
- - (Boolean) required?
- - (Boolean) show_default?
- - (Object) usage
Constructor Details
- (Argument) initialize(name, options = {})
A new instance of Argument
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/thor/parser/argument.rb', line 8 def initialize(name, ={}) class_name = self.class.name.split("::").last type = [:type] raise ArgumentError, "#{class_name} name can't be nil." if name.nil? raise ArgumentError, "Type :#{type} is not valid for #{class_name.downcase}s." if type && !valid_type?(type) @name = name.to_s @description = [:desc] @required = .key?(:required) ? [:required] : true @type = (type || :string).to_sym @default = [:default] @banner = [:banner] || @enum = [:enum] validate! # Trigger specific validations end |
Instance Attribute Details
- (Object) banner (readonly)
Returns the value of attribute banner
5 6 7 |
# File 'lib/thor/parser/argument.rb', line 5 def @banner end |
- (Object) default (readonly)
Returns the value of attribute default
5 6 7 |
# File 'lib/thor/parser/argument.rb', line 5 def default @default end |
- (Object) description (readonly)
Returns the value of attribute description
5 6 7 |
# File 'lib/thor/parser/argument.rb', line 5 def description @description end |
- (Object) enum (readonly)
Returns the value of attribute enum
5 6 7 |
# File 'lib/thor/parser/argument.rb', line 5 def enum @enum end |
- (Object) name (readonly) Also known as: human_name
Returns the value of attribute name
5 6 7 |
# File 'lib/thor/parser/argument.rb', line 5 def name @name end |
- (Object) required (readonly)
Returns the value of attribute required
5 6 7 |
# File 'lib/thor/parser/argument.rb', line 5 def required @required end |
- (Object) type (readonly)
Returns the value of attribute type
5 6 7 |
# File 'lib/thor/parser/argument.rb', line 5 def type @type end |
Instance Method Details
- (Boolean) required?
31 32 33 |
# File 'lib/thor/parser/argument.rb', line 31 def required? required end |
- (Boolean) show_default?
35 36 37 38 39 40 41 42 |
# File 'lib/thor/parser/argument.rb', line 35 def show_default? case default when Array, String, Hash !default.empty? else default end end |
- (Object) usage
27 28 29 |
# File 'lib/thor/parser/argument.rb', line 27 def usage required? ? : "[#{}]" end |