Sha256: 8a8ca34730a598fb5443b7b0a354c4429ca0e54adc061edbe1de3392885b78d4

Contents?: true

Size: 1.03 KB

Versions: 443

Compression:

Stored size: 1.03 KB

Contents

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

Version data entries

443 entries across 422 versions & 35 rubygems

Version Path
sqlite3-1.6.5-arm-linux lib/sqlite3/value.rb
sqlite3-1.6.5-aarch64-linux lib/sqlite3/value.rb
sqlite3-1.6.5.rc1 lib/sqlite3/value.rb
sqlite3-1.6.5.rc1-x86_64-linux lib/sqlite3/value.rb
sqlite3-1.6.5.rc1-x86_64-darwin lib/sqlite3/value.rb
sqlite3-1.6.5.rc1-x86-linux lib/sqlite3/value.rb
sqlite3-1.6.5.rc1-x64-mingw32 lib/sqlite3/value.rb
sqlite3-1.6.5.rc1-x64-mingw-ucrt lib/sqlite3/value.rb
sqlite3-1.6.5.rc1-arm64-darwin lib/sqlite3/value.rb
sqlite3-1.6.5.rc1-arm-linux lib/sqlite3/value.rb
sqlite3-1.6.5.rc1-aarch64-linux lib/sqlite3/value.rb
sqlite3-1.6.4 lib/sqlite3/value.rb
sqlite3-1.6.4-x86_64-linux lib/sqlite3/value.rb
sqlite3-1.6.4-x86_64-darwin lib/sqlite3/value.rb
sqlite3-1.6.4-x86-linux lib/sqlite3/value.rb
sqlite3-1.6.4-x64-mingw32 lib/sqlite3/value.rb
sqlite3-1.6.4-x64-mingw-ucrt lib/sqlite3/value.rb
sqlite3-1.6.4-arm64-darwin lib/sqlite3/value.rb
sqlite3-1.6.4-arm-linux lib/sqlite3/value.rb
sqlite3-1.6.4-aarch64-linux lib/sqlite3/value.rb