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.



271
272
273
# File 'lib/libsql.rb', line 271

def initialize(inner)
  @inner = inner
end

Instance Method Details

#[](index) ⇒ Object

Raises:



291
292
293
294
295
296
297
298
299
300
301
302
# File 'lib/libsql.rb', line 291

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:



304
305
306
307
308
309
# File 'lib/libsql.rb', line 304

def close
  raise ClosedException if closed?

  @inner.deinit
  @inner = nil
end

#closed?Boolean

Returns:

  • (Boolean)


311
312
313
# File 'lib/libsql.rb', line 311

def closed?
  @inner.nil?
end

#columnsObject

Raises:



283
284
285
286
287
# File 'lib/libsql.rb', line 283

def columns
  raise ClosedException if closed?

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

#eachObject



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

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

#lengthObject

Raises:



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

def length
  raise ClosedException if closed?

  @inner.length
end

#to_hObject



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

def to_h = columns.zip(to_a).to_h