Method: Dynamoid::TypeCasting.find_type_caster

Defined in:
lib/dynamoid/type_casting.rb

.find_type_caster(options) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/dynamoid/type_casting.rb', line 26

def self.find_type_caster(options)
  type_caster_class = case options[:type]
                      when :string     then StringTypeCaster
                      when :integer    then IntegerTypeCaster
                      when :number     then NumberTypeCaster
                      when :set        then SetTypeCaster
                      when :array      then ArrayTypeCaster
                      when :map        then MapTypeCaster
                      when :datetime   then DateTimeTypeCaster
                      when :date       then DateTypeCaster
                      when :raw        then RawTypeCaster
                      when :serialized then SerializedTypeCaster
                      when :boolean    then BooleanTypeCaster
                      when :binary     then BinaryTypeCaster
                      when Class       then CustomTypeCaster
                      end

  if type_caster_class.present?
    type_caster_class.new(options)
  end
end