| 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)) ? send(meth, value) : value
52: else
53: super
54: end
55: end