class Sequel::Amalgalite::SequelTypeMap
Type conversion map class for Sequel’s use of Amalgamite
Public Class Methods
Source
# File lib/sequel/adapters/amalgalite.rb 20 def initialize(db) 21 @db = db 22 end
Store the related database object, in order to be able to correctly handle the database timezone.
Public Instance Methods
Source
# File lib/sequel/adapters/amalgalite.rb 26 def blob(s) 27 SQL::Blob.new(s) 28 end
Return blobs as instances of Sequel::SQL::Blob
instead of Amalgamite::Blob
Source
# File lib/sequel/adapters/amalgalite.rb 37 def datetime(s) 38 @db.to_application_timestamp(s) 39 end
Return datetime types as instances of Sequel.datetime_class
Source
# File lib/sequel/adapters/amalgalite.rb 32 def decimal(s) 33 BigDecimal(s) 34 end
Return numeric/decimal types as instances of BigDecimal instead of Float
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
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.
Calls superclass method
Source
# File lib/sequel/adapters/amalgalite.rb 41 def time(s) 42 Sequel.string_to_time(s) 43 end