Class: HammerCLI::Options::Normalizers::Enum
- Inherits:
-
AbstractNormalizer
- Object
- AbstractNormalizer
- HammerCLI::Options::Normalizers::Enum
- Defined in:
- lib/hammer_cli/options/normalizers.rb
Instance Attribute Summary collapse
-
#allowed_values ⇒ Object
readonly
Returns the value of attribute allowed_values.
Class Method Summary collapse
Instance Method Summary collapse
- #complete(value) ⇒ Object
- #completion_type ⇒ Object
- #description ⇒ Object
- #format(value) ⇒ Object
-
#initialize(allowed_values) ⇒ Enum
constructor
A new instance of Enum.
Methods inherited from AbstractNormalizer
Constructor Details
#initialize(allowed_values) ⇒ Enum
Returns a new instance of Enum.
323 324 325 |
# File 'lib/hammer_cli/options/normalizers.rb', line 323 def initialize(allowed_values) @allowed_values = allowed_values end |
Instance Attribute Details
#allowed_values ⇒ Object (readonly)
Returns the value of attribute allowed_values.
321 322 323 |
# File 'lib/hammer_cli/options/normalizers.rb', line 321 def allowed_values @allowed_values end |
Class Method Details
.common_description ⇒ Object
316 317 318 |
# File 'lib/hammer_cli/options/normalizers.rb', line 316 def common_description _("Possible values are described in the option's description") end |
.completion_type ⇒ Object
312 313 314 |
# File 'lib/hammer_cli/options/normalizers.rb', line 312 def completion_type :enum end |
Instance Method Details
#complete(value) ⇒ Object
344 345 346 |
# File 'lib/hammer_cli/options/normalizers.rb', line 344 def complete(value) Completer::finalize_completions(@allowed_values) end |
#completion_type ⇒ Object
348 349 350 |
# File 'lib/hammer_cli/options/normalizers.rb', line 348 def completion_type super.merge({ values: allowed_values }) end |
#description ⇒ Object
327 328 329 |
# File 'lib/hammer_cli/options/normalizers.rb', line 327 def description _("Possible value(s): %s") % quoted_values end |
#format(value) ⇒ Object
331 332 333 334 335 336 337 338 339 340 341 342 |
# File 'lib/hammer_cli/options/normalizers.rb', line 331 def format(value) if @allowed_values.include? value value else if allowed_values.count == 1 msg = _("Value must be %s.") % quoted_values else msg = _("Value must be one of %s.") % quoted_values end raise ArgumentError, msg end end |