class InputSanitizer::SpecificValuesConverter

Public Class Methods

new(values) click to toggle source
# File lib/input_sanitizer/extended_converters/specific_values_converter.rb, line 3
def initialize(values)
  @valid_values = values
end

Public Instance Methods

call(value) click to toggle source
# File lib/input_sanitizer/extended_converters/specific_values_converter.rb, line 7
def call(value)
  case
  when @valid_values.include?(value)
    value
  when value.respond_to?(:to_sym) && @valid_values.include?(value.to_sym)
    value.to_sym
  else
    values_joined = @valid_values.join(", ")
    raise InputSanitizer::ConversionError.new("Possible values: #{values_joined}")
  end
end