class Sequel::Amalgalite::SequelTypeMap

  1. lib/sequel/adapters/amalgalite.rb
Superclass: Amalgalite::TypeMaps::DefaultMap

Type conversion map class for Sequel’s use of Amalgamite

Methods

Public Class

  1. new

Public Instance

  1. blob
  2. datetime
  3. decimal
  4. result_value_of
  5. time

Public Class methods

new(db)

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

[show source]
   # File lib/sequel/adapters/amalgalite.rb
20 def initialize(db)
21   @db = db
22 end

Public Instance methods

blob(s)

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

[show source]
   # File lib/sequel/adapters/amalgalite.rb
26 def blob(s)
27   SQL::Blob.new(s)
28 end
datetime(s)

Return datetime types as instances of Sequel.datetime_class

[show source]
   # File lib/sequel/adapters/amalgalite.rb
37 def datetime(s)
38   @db.to_application_timestamp(s)
39 end
decimal(s)

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

[show source]
   # File lib/sequel/adapters/amalgalite.rb
32 def decimal(s)
33   BigDecimal(s)
34 end
result_value_of(declared_type, value)

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.

[show source]
   # File lib/sequel/adapters/amalgalite.rb
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)) ? public_send(meth, value) : value
52   else
53     super
54   end
55 end
time(s)
[show source]
   # File lib/sequel/adapters/amalgalite.rb
41 def time(s)
42   Sequel.string_to_time(s)
43 end