Module: Sequel::SQLite
- Defined in:
- lib/sequel/adapters/sqlite.rb,
lib/sequel/adapters/shared/sqlite.rb
Overview
Top level module for holding all SQLite-related modules and classes for Sequel.
Defined Under Namespace
Modules: DatabaseMethods, DatasetMethods Classes: Database, Dataset
Constant Summary collapse
- TYPE_TRANSLATOR =
tt = Class.new do FALSE_VALUES = (%w'0 false f no n' + [0]).freeze def blob(s) Sequel::SQL::Blob.new(s.to_s) end def boolean(s) s = s.downcase if s.is_a?(String) !FALSE_VALUES.include?(s) end def date(s) case s when String Sequel.string_to_date(s) when Integer Date.jd(s) when Float Date.jd(s.to_i) else raise Sequel::Error, "unhandled type when converting to date: #{s.inspect} (#{s.class.inspect})" end end def integer(s) s.to_i end def float(s) s.to_f end def numeric(s) s = s.to_s unless s.is_a?(String) ::BigDecimal.new(s) rescue s end def time(s) case s when String Sequel.string_to_time(s) when Integer Sequel::SQLTime.create(s/3600, (s % 3600)/60, s % 60) when Float s, f = s.divmod(1) Sequel::SQLTime.create(s/3600, (s % 3600)/60, s % 60, (f*1000000).round) else raise Sequel::Error, "unhandled type when converting to date: #{s.inspect} (#{s.class.inspect})" end end end.new
- SQLITE_TYPES =
Hash with string keys and callable values for converting SQLite types.
{}