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.



269
270
271
# File 'lib/libsql.rb', line 269

def initialize(inner)
  @inner = inner
end

Instance Method Details

#[](index) ⇒ Object

Raises:



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

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:



302
303
304
305
306
307
# File 'lib/libsql.rb', line 302

def close
  raise ClosedException if closed?

  @inner.deinit
  @inner = nil
end

#closed?Boolean

Returns:

  • (Boolean)


309
310
311
# File 'lib/libsql.rb', line 309

def closed?
  @inner.nil?
end

#columnsObject

Raises:



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

def columns
  raise ClosedException if closed?

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

#eachObject



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

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

#lengthObject

Raises:



275
276
277
278
279
# File 'lib/libsql.rb', line 275

def length
  raise ClosedException if closed?

  @inner.length
end

#to_hObject



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

def to_h = columns.zip(to_a).to_h