Class Sequel::Amalgalite::SequelTypeMap
In: lib/sequel/adapters/amalgalite.rb
Parent: ::Amalgalite::TypeMaps::DefaultMap

Type conversion map class for Sequel‘s use of Amalgamite

Methods

blob   datetime   decimal   new   result_value_of   time  

Public Class methods

Store the related database object, in order to be able to correctly handle the database timezone.

[Source]

    # File lib/sequel/adapters/amalgalite.rb, line 20
20:       def initialize(db)
21:         @db = db
22:       end

Public Instance methods

Return blobs as instances of Sequel::SQL::Blob instead of Amalgamite::Blob

[Source]

    # File lib/sequel/adapters/amalgalite.rb, line 26
26:       def blob(s)
27:         SQL::Blob.new(s)
28:       end

Return datetime types as instances of Sequel.datetime_class

[Source]

    # File lib/sequel/adapters/amalgalite.rb, line 37
37:       def datetime(s)
38:         @db.to_application_timestamp(s)
39:       end

Return numeric/decimal types as instances of BigDecimal instead of Float

[Source]

    # File lib/sequel/adapters/amalgalite.rb, line 32
32:       def decimal(s)
33:         BigDecimal.new(s)
34:       end

Don‘t raise an error if the value is a string and the declared type doesn‘t match a known type, just return the value.

[Source]

    # File lib/sequel/adapters/amalgalite.rb, line 47
47:       def result_value_of(declared_type, value)
48:         if value.is_a?(::Amalgalite::Blob)
49:           SQL::Blob.new(value.to_s)
50:         elsif value.is_a?(String) && declared_type
51:           (meth = self.class.sql_to_method(declared_type.downcase)) ? send(meth, value) : value
52:         else
53:           super
54:         end
55:       end

[Source]

    # File lib/sequel/adapters/amalgalite.rb, line 41
41:       def time(s)
42:         Sequel.string_to_time(s)
43:       end

[Validate]