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.



279
280
281
# File 'lib/libsql.rb', line 279

def initialize(inner)
  @inner = inner
end

Instance Method Details

#[](index) ⇒ Object

Raises:



299
300
301
302
303
304
305
306
307
308
309
310
# File 'lib/libsql.rb', line 299

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:



312
313
314
315
316
317
# File 'lib/libsql.rb', line 312

def close
  raise ClosedException if closed?

  @inner.deinit
  @inner = nil
end

#closed?Boolean

Returns:

  • (Boolean)


319
320
321
# File 'lib/libsql.rb', line 319

def closed?
  @inner.nil?
end

#columnsObject

Raises:



291
292
293
294
295
# File 'lib/libsql.rb', line 291

def columns
  raise ClosedException if closed?

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

#eachObject



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

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

#lengthObject

Raises:



285
286
287
288
289
# File 'lib/libsql.rb', line 285

def length
  raise ClosedException if closed?

  @inner.length
end

#to_hObject



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

def to_h = columns.zip(to_a).to_h