Class | Sequel::Amalgalite::SequelTypeMap |
In: |
lib/sequel/adapters/amalgalite.rb
|
Parent: | ::Amalgalite::TypeMaps::DefaultMap |
Type conversion map class for Sequel‘s use of Amalgamite
Store the related database object, in order to be able to correctly handle the database timezone.
# File lib/sequel/adapters/amalgalite.rb, line 20 20: def initialize(db) 21: @db = db 22: end
Return blobs as instances of Sequel::SQL::Blob instead of Amalgamite::Blob
# File lib/sequel/adapters/amalgalite.rb, line 26 26: def blob(s) 27: SQL::Blob.new(s) 28: end
Return numeric/decimal types as instances of BigDecimal instead of Float
# 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.
# 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)) ? public_send(meth, value) : value 52: else 53: super 54: end 55: end