module Sequel::SQLite

Constants

FALSE_VALUES
SQLITE_TYPES

Hash with string keys and callable values for converting SQLite types.

Public Class Methods

mock_adapter_setup(db) click to toggle source
   # File lib/sequel/adapters/shared/sqlite.rb
10 def self.mock_adapter_setup(db)
11   db.instance_exec do
12     @sqlite_version = 30903
13   end
14 end

Public Instance Methods

blob(s) click to toggle source
   # File lib/sequel/adapters/sqlite.rb
11 def blob(s)
12   Sequel::SQL::Blob.new(s.to_s)
13 end
boolean(s) click to toggle source
   # File lib/sequel/adapters/sqlite.rb
15 def boolean(s)
16   s = s.downcase if s.is_a?(String)
17   !FALSE_VALUES.include?(s)
18 end
date(s) click to toggle source
   # File lib/sequel/adapters/sqlite.rb
20 def date(s)
21   case s
22   when String
23     Sequel.string_to_date(s)
24   when Integer
25     Date.jd(s)
26   when Float
27     Date.jd(s.to_i)
28   else
29     raise Sequel::Error, "unhandled type when converting to date: #{s.inspect} (#{s.class.inspect})"
30   end
31 end
float(s) click to toggle source
   # File lib/sequel/adapters/sqlite.rb
37 def float(s)
38   s.to_f
39 end
integer(s) click to toggle source
   # File lib/sequel/adapters/sqlite.rb
33 def integer(s)
34   s.to_i
35 end
numeric(s) click to toggle source
   # File lib/sequel/adapters/sqlite.rb
41 def numeric(s)
42   s = s.to_s unless s.is_a?(String)
43   BigDecimal(s) rescue s
44 end
time(s) click to toggle source
   # File lib/sequel/adapters/sqlite.rb
46 def time(s)
47   case s
48   when String
49     Sequel.string_to_time(s)
50   when Integer
51     Sequel::SQLTime.create(s/3600, (s % 3600)/60, s % 60)
52   when Float
53     s, f = s.divmod(1)
54     Sequel::SQLTime.create(s/3600, (s % 3600)/60, s % 60, (f*1000000).round)
55   else
56     raise Sequel::Error, "unhandled type when converting to date: #{s.inspect} (#{s.class.inspect})"
57   end
58 end