Class: Toys::ArgParser::UsageError
- Inherits:
-
Object
- Object
- Toys::ArgParser::UsageError
- Defined in:
- lib/toys/arg_parser.rb
Overview
Base representation of a usage error reported by the ArgParser.
This functions similarly to an exception, but is not raised. Rather, it is returned in the #errors array.
Direct Known Subclasses
ArgMissingError, ArgValueUnacceptableError, ExtraArgumentsError, FlagAmbiguousError, FlagGroupConstraintError, FlagUnrecognizedError, FlagValueMissingError, FlagValueNotAllowedError, FlagValueUnacceptableError, ToolUnrecognizedError
Instance Attribute Summary collapse
-
#message ⇒ String
readonly
The basic error message.
-
#name ⇒ String?
readonly
The name of the element (normally a flag or positional argument) that reported the error.
-
#suggestions ⇒ Array<String>?
readonly
An array of suggestions from DidYouMean.
-
#value ⇒ String?
readonly
The value that was rejected.
Instance Method Summary collapse
-
#full_message ⇒ String
(also: #to_s)
A fully formatted error message including suggestions.
-
#initialize(message, name: nil, value: nil, suggestions: nil) ⇒ UsageError
constructor
Create a UsageError given a message and common data.
Constructor Details
#initialize(message, name: nil, value: nil, suggestions: nil) ⇒ UsageError
Create a UsageError given a message and common data
51 52 53 54 55 56 |
# File 'lib/toys/arg_parser.rb', line 51 def initialize(, name: nil, value: nil, suggestions: nil) @message = @name = name @value = value @suggestions = suggestions end |
Instance Attribute Details
#message ⇒ String (readonly)
The basic error message. Does not include suggestions, if any.
63 64 65 |
# File 'lib/toys/arg_parser.rb', line 63 def @message end |
#name ⇒ String? (readonly)
The name of the element (normally a flag or positional argument) that reported the error.
72 73 74 |
# File 'lib/toys/arg_parser.rb', line 72 def name @name end |
#suggestions ⇒ Array<String>? (readonly)
An array of suggestions from DidYouMean.
88 89 90 |
# File 'lib/toys/arg_parser.rb', line 88 def suggestions @suggestions end |
#value ⇒ String? (readonly)
The value that was rejected.
80 81 82 |
# File 'lib/toys/arg_parser.rb', line 80 def value @value end |
Instance Method Details
#full_message ⇒ String Also known as: to_s
A fully formatted error message including suggestions.
95 96 97 98 99 100 101 102 |
# File 'lib/toys/arg_parser.rb', line 95 def if suggestions && !suggestions.empty? alts_str = suggestions.join("\n ") "#{}\nDid you mean... #{alts_str}" else end end |