Class: SQLite3::Value

Inherits:
Object
  • Object
show all
Defined in:
lib/sqlite3/value.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(db, handle) ⇒ Value

Returns a new instance of Value.



8
9
10
11
# File 'lib/sqlite3/value.rb', line 8

def initialize(db, handle)
  @driver = db.driver
  @handle = handle
end

Instance Attribute Details

#handleObject (readonly)

Returns the value of attribute handle.



6
7
8
# File 'lib/sqlite3/value.rb', line 6

def handle
  @handle
end

Instance Method Details

#length(utf16 = false) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/sqlite3/value.rb', line 21

def length(utf16 = false)
  if utf16
    @driver.value_bytes16(@handle)
  else
    @driver.value_bytes(@handle)
  end
end

#null?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/sqlite3/value.rb', line 13

def null?
  type == :null
end

#to_blobObject



17
18
19
# File 'lib/sqlite3/value.rb', line 17

def to_blob
  @driver.value_blob(@handle)
end

#to_fObject



29
30
31
# File 'lib/sqlite3/value.rb', line 29

def to_f
  @driver.value_double(@handle)
end

#to_iObject



33
34
35
# File 'lib/sqlite3/value.rb', line 33

def to_i
  @driver.value_int(@handle)
end

#to_int64Object



37
38
39
# File 'lib/sqlite3/value.rb', line 37

def to_int64
  @driver.value_int64(@handle)
end

#to_s(utf16 = false) ⇒ Object



41
42
43
# File 'lib/sqlite3/value.rb', line 41

def to_s(utf16 = false)
  @driver.value_text(@handle, utf16)
end

#typeObject



45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/sqlite3/value.rb', line 45

def type
  case @driver.value_type(@handle)
  when Constants::ColumnType::INTEGER
    :int
  when Constants::ColumnType::FLOAT
    :float
  when Constants::ColumnType::TEXT
    :text
  when Constants::ColumnType::BLOB
    :blob
  when Constants::ColumnType::NULL
    :null
  end
end