Class: InputSanitizer::SpecificValuesConverter

Inherits:
Object
  • Object
show all
Defined in:
lib/input_sanitizer/extended_converters/specific_values_converter.rb

Instance Method Summary collapse

Constructor Details

#initialize(values) ⇒ SpecificValuesConverter

Returns a new instance of SpecificValuesConverter.



3
4
5
# File 'lib/input_sanitizer/extended_converters/specific_values_converter.rb', line 3

def initialize(values)
  @valid_values = values
end

Instance Method Details

#call(value) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
# 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