Class: Libsql::Row

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/libsql.rb

Instance Method Summary collapse

Constructor Details

#initialize(inner) ⇒ Row

Returns a new instance of Row.



282
283
284
# File 'lib/libsql.rb', line 282

def initialize(inner)
  @inner = inner
end

Instance Method Details

#[](index) ⇒ Object

Raises:



302
303
304
305
306
307
308
309
310
311
312
313
# File 'lib/libsql.rb', line 302

def [](index)
  raise ClosedException if closed?

  case index
  in Integer then @inner.value_at(index)[:ok].convert
  in String
    at = columns.index(index)
    return self[at] unless at.nil?

    raise "#{index} is not a valid row column"
  end
end

#closeObject

Raises:



315
316
317
318
319
320
# File 'lib/libsql.rb', line 315

def close
  raise ClosedException if closed?

  @inner.deinit
  @inner = nil
end

#closed?Boolean

Returns:

  • (Boolean)


322
323
324
# File 'lib/libsql.rb', line 322

def closed?
  @inner.nil?
end

#columnsObject

Raises:



294
295
296
297
298
# File 'lib/libsql.rb', line 294

def columns
  raise ClosedException if closed?

  (0...length).map { |i| @inner.name_at(i).to_s }
end

#eachObject



300
# File 'lib/libsql.rb', line 300

def each = (0...length).each { |i| yield self[i] }

#lengthObject

Raises:



288
289
290
291
292
# File 'lib/libsql.rb', line 288

def length
  raise ClosedException if closed?

  @inner.length
end

#to_hObject



286
# File 'lib/libsql.rb', line 286

def to_h = columns.zip(to_a).to_h