class I18n::Tasks::Command::OptionParsers::Enum::Parser
Constants
- DEFAULT_ERROR
Public Class Methods
Source
# File lib/i18n/tasks/command/option_parsers/enum.rb, line 12 def initialize(valid, error_message = DEFAULT_ERROR, allow_blank: false) @valid = valid.map(&:to_s) @error_message = error_message @allow_blank = allow_blank end
Public Instance Methods
Source
# File lib/i18n/tasks/command/option_parsers/enum.rb, line 18 def call(value, *) return @valid.first if value.blank? && !@allow_blank if @valid.include?(value) value elsif value.present? || !@allow_blank fail CommandError, @error_message.call(value, @valid) end end