lib/sqlite3/value.rb
require "sqlite3/constants" module SQLite3 class Value attr_reader :handle def initialize(db, handle) @driver = db.driver @handle = handle end def null? type == :null end def to_blob @driver.value_blob(@handle) end def length(utf16 = false) if utf16 @driver.value_bytes16(@handle) else @driver.value_bytes(@handle) end end def to_f @driver.value_double(@handle) end def to_i @driver.value_int(@handle) end def to_int64 @driver.value_int64(@handle) end def to_s(utf16 = false) @driver.value_text(@handle, utf16) end def type case @driver.value_type(@handle) when Constants::ColumnType::INTEGER then :int when Constants::ColumnType::FLOAT then :float when Constants::ColumnType::TEXT then :text when Constants::ColumnType::BLOB then :blob when Constants::ColumnType::NULL then :null end end end end