Class: I18n::Processes::Command::OptionParsers::Enum::ListParser
- Inherits:
-
Object
- Object
- I18n::Processes::Command::OptionParsers::Enum::ListParser
- Defined in:
- lib/i18n/processes/command/option_parsers/enum.rb
Constant Summary collapse
- DEFAULT_ERROR =
proc do |invalid, valid| "#{invalid * ', '} is not in: #{valid * ', '}." end
Instance Method Summary collapse
- #call(values) ⇒ Object
-
#initialize(valid, error_message = DEFAULT_ERROR) ⇒ ListParser
constructor
A new instance of ListParser.
Constructor Details
#initialize(valid, error_message = DEFAULT_ERROR) ⇒ ListParser
Returns a new instance of ListParser.
32 33 34 35 |
# File 'lib/i18n/processes/command/option_parsers/enum.rb', line 32 def initialize(valid, = DEFAULT_ERROR) @valid = valid.map(&:to_s) = end |
Instance Method Details
#call(values) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/i18n/processes/command/option_parsers/enum.rb', line 37 def call(values, *) values = Array(values) return @valid if values == %w[all] invalid = values - @valid if invalid.empty? if values.empty? @valid else values end else fail CommandError, .call(invalid, @valid) end end |