class Object

Public Class Methods

set_context_result(ctx, var) click to toggle source
# File lib/sqlite3/driver.rb, line 91
def self.set_context_result(ctx, var)
  case var
  when Blob
    Driver.sqlite3_result_blob(ctx, var.to_s, var.to_s.size, nil)
  when String
    if var.encoding == Encoding::UTF_16LE ||
       var.encoding == Encoding::UTF_16BE
      Driver.sqlite3_result_text16(ctx, var, -1, nil)
    else
      Driver.sqlite3_result_text(ctx, var.encode(Encoding::UTF_8), -1, nil)
    end
  when Fixnum, Bignum
    Driver.sqlite3_result_int64(ctx, var)
  when Float
    Driver.sqlite3_result_double(ctx, var)
  when NilClass
    Driver.sqlite3_result_null(ctx)
  when TrueClass, FalseClass
    Driver.sqlite3_result_int(ctx, var ? 1 : 0)
  else
    raise RuntimeError, "can't return #{var.class}"
  end
end