Module Sequel::SQLite
In: lib/sequel/adapters/sqlite.rb
lib/sequel/adapters/shared/sqlite.rb

Top level module for holding all SQLite-related modules and classes for Sequel.

Methods

blob   boolean   date   float   integer   mock_adapter_setup   numeric   time  

Classes and Modules

Module Sequel::SQLite::DatabaseMethods
Module Sequel::SQLite::DatasetMethods

Constants

TYPE_TRANSLATOR = tt = Class.new do FALSE_VALUES = (%w'0 false f no n' + [0]).freeze

Public Class methods

[Source]

    # File lib/sequel/adapters/shared/sqlite.rb, line 9
 9:     def self.mock_adapter_setup(db)
10:       db.instance_eval do
11:         @sqlite_version = 30903
12:       end
13:     end

Public Instance methods

[Source]

    # File lib/sequel/adapters/sqlite.rb, line 13
13:       def blob(s)
14:         Sequel::SQL::Blob.new(s.to_s)
15:       end

[Source]

    # File lib/sequel/adapters/sqlite.rb, line 17
17:       def boolean(s)
18:         s = s.downcase if s.is_a?(String)
19:         !FALSE_VALUES.include?(s)
20:       end

[Source]

    # File lib/sequel/adapters/sqlite.rb, line 22
22:       def date(s)
23:         case s
24:         when String
25:           Sequel.string_to_date(s)
26:         when Integer
27:           Date.jd(s)
28:         when Float
29:           Date.jd(s.to_i)
30:         else
31:           raise Sequel::Error, "unhandled type when converting to date: #{s.inspect} (#{s.class.inspect})"
32:         end
33:       end

[Source]

    # File lib/sequel/adapters/sqlite.rb, line 39
39:       def float(s)
40:         s.to_f
41:       end

[Source]

    # File lib/sequel/adapters/sqlite.rb, line 35
35:       def integer(s)
36:         s.to_i
37:       end

[Source]

    # File lib/sequel/adapters/sqlite.rb, line 43
43:       def numeric(s)
44:         s = s.to_s unless s.is_a?(String)
45:         ::BigDecimal.new(s) rescue s
46:       end

[Source]

    # File lib/sequel/adapters/sqlite.rb, line 48
48:       def time(s)
49:         case s
50:         when String
51:           Sequel.string_to_time(s)
52:         when Integer
53:           Sequel::SQLTime.create(s/3600, (s % 3600)/60, s % 60)
54:         when Float
55:           s, f = s.divmod(1)
56:           Sequel::SQLTime.create(s/3600, (s % 3600)/60, s % 60, (f*1000000).round)
57:         else
58:           raise Sequel::Error, "unhandled type when converting to date: #{s.inspect} (#{s.class.inspect})"
59:         end
60:       end

[Validate]