Module | Sequel::SQLite |
In: |
lib/sequel/adapters/sqlite.rb
lib/sequel/adapters/shared/sqlite.rb |
TYPE_TRANSLATOR | = | tt = Class.new do FALSE_VALUES = (%w'0 false f no n' + [0]).freeze |
# 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
# File lib/sequel/adapters/sqlite.rb, line 13 13: def blob(s) 14: Sequel::SQL::Blob.new(s.to_s) 15: end
# 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
# 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
# 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
# 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