class I18n::Tasks::Command::OptionParsers::Enum::Parser

Constants

DEFAULT_ERROR

Public Class Methods

new(valid, error_message = DEFAULT_ERROR) click to toggle source
# File lib/i18n/tasks/command/option_parsers/enum.rb, line 12
def initialize(valid, error_message = DEFAULT_ERROR)
  @valid         = valid.map(&:to_s)
  @error_message = error_message
end

Public Instance Methods

call(value, *) click to toggle source
# File lib/i18n/tasks/command/option_parsers/enum.rb, line 17
def call(value, *)
  return @valid.first unless value.present?

  if @valid.include?(value)
    value
  else
    fail CommandError, @error_message.call(value, @valid)
  end
end