Class: I18n::Tasks::Command::OptionParsers::Enum::ListParser
- Inherits:
-
Object
- Object
- I18n::Tasks::Command::OptionParsers::Enum::ListParser
- Defined in:
- lib/i18n/tasks/command/option_parsers/enum.rb
Constant Summary collapse
- DEFAULT_ERROR =
proc do |invalid, valid| I18n.t('i18n_tasks.cmd.enum_list_opt.invalid', invalid: invalid * ', ', valid: 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
34 35 36 37 |
# File 'lib/i18n/tasks/command/option_parsers/enum.rb', line 34 def initialize(valid, = DEFAULT_ERROR) @valid = valid.map(&:to_s) = end |
Instance Method Details
#call(values) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/i18n/tasks/command/option_parsers/enum.rb', line 39 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 |