Class: Libsql::Row
Instance Method Summary collapse
- #[](index) ⇒ Object
- #close ⇒ Object
- #closed? ⇒ Boolean
- #columns ⇒ Object
- #each ⇒ Object
-
#initialize(inner) ⇒ Row
constructor
A new instance of Row.
- #length ⇒ Object
- #to_h ⇒ Object
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
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 |
#close ⇒ Object
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
322 323 324 |
# File 'lib/libsql.rb', line 322 def closed? @inner.nil? end |
#columns ⇒ Object
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 |
#each ⇒ Object
300 |
# File 'lib/libsql.rb', line 300 def each = (0...length).each { |i| yield self[i] } |
#length ⇒ Object
288 289 290 291 292 |
# File 'lib/libsql.rb', line 288 def length raise ClosedException if closed? @inner.length end |
#to_h ⇒ Object
286 |
# File 'lib/libsql.rb', line 286 def to_h = columns.zip(to_a).to_h |