diff options
author | Rob Holland <rob@inversepath.com> | 2008-05-17 16:05:53 +0100 |
---|---|---|
committer | Rob Holland <rob@inversepath.com> | 2008-05-17 16:05:53 +0100 |
commit | 423e51b081231278ee29dc157f0c19bfd874c275 (patch) | |
tree | 42c997da73fabdcb7837a26197ef483436ec0b4a /lib/sqlite3 | |
parent | a0046a178767af8aee48671898497d2ba953027c (diff) | |
download | third_party-sqlite3-ruby-423e51b081231278ee29dc157f0c19bfd874c275.tar.gz third_party-sqlite3-ruby-423e51b081231278ee29dc157f0c19bfd874c275.tar.xz third_party-sqlite3-ruby-423e51b081231278ee29dc157f0c19bfd874c275.zip |
be more granular with time/data translation
Diffstat (limited to 'lib/sqlite3')
-rw-r--r-- | lib/sqlite3/translator.rb | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/sqlite3/translator.rb b/lib/sqlite3/translator.rb index d91671e..3590f6c 100644 --- a/lib/sqlite3/translator.rb +++ b/lib/sqlite3/translator.rb @@ -61,9 +61,11 @@ module SQLite3 # Register the default translators for the current Translator instance. # This includes translators for most major SQL data types. def register_default_translators - [ "date", - "datetime", - "time" ].each { |type| add_translator( type ) { |t,v| Time.parse( v ) } } + [ "time", + "timestamp" ].each { |type| add_translator( type ) { |t, v| Time.parse( v ) } } + + add_translator( "date" ) { |t,v| time = Time.parse(v); Date.new(time.year, time.month, time.day) } + add_translator( "datetime" ) { |t,v| DateTime.parse(v) } [ "decimal", "float", @@ -91,7 +93,6 @@ module SQLite3 end end - add_translator( "timestamp" ) { |type, value| Time.at( value.to_i ) } add_translator( "tinyint" ) do |type, value| if type =~ /\(\s*1\s*\)/ value.to_i == 1 |