Class: Amalgalite::TypeMap
- Inherits:
-
Object
- Object
- Amalgalite::TypeMap
- Defined in:
- lib/amalgalite/type_map.rb
Overview
TypeMap defines the protocol used between Ruby and SQLite for mapping binding types, used in prepared statements; and result types, used in returning objects from a query.
Direct Known Subclasses
Amalgalite::TypeMaps::StorageMap, Amalgalite::TypeMaps::TextMap
Instance Method Summary collapse
-
#bind_type_of(obj) ⇒ Object
:call-seq: map.bind_type_of( obj ) -> DataType constant.
-
#result_value_of(delcared_type, value) ⇒ Object
:call-seq: map.result_value_of( declared_type, value ) -> String.
Instance Method Details
#bind_type_of(obj) ⇒ Object
:call-seq:
map.bind_type_of( obj ) -> DataType constant
bind_type_of is called during the Statement#bind process to convert the bind parameter to the appropriate SQLite types. This method MUST return one of the valid constants in the namespace Amalgalite::SQLite::Constants::DataType
22 23 24 |
# File 'lib/amalgalite/type_map.rb', line 22 def bind_type_of( obj ) raise NotImplementedError, "bind_type_of has not been implemented" end |
#result_value_of(delcared_type, value) ⇒ Object
:call-seq:
map.result_value_of( declared_type, value ) -> String
result_value_of is called during the result processing of column values to convert an SQLite database value into the appropriate Ruby class.
declared_type
is the string from the original CREATE TABLE statment from which the column value originates. It may also be nil if the origin column cannot be determined.
value
is the SQLite value from the column as either a Ruby String, Integer, Float or Amalgalite::Blob.
result_value should return the value that is to be put into the result set for the query. It may do nothing, or it may do massive amounts of conversion.
43 44 45 |
# File 'lib/amalgalite/type_map.rb', line 43 def result_value_of( delcared_type, value ) raise NotImplementedError, "result_value_of has not been implemented" end |