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.
279 280 281 |
# File 'lib/libsql.rb', line 279 def initialize(inner) @inner = inner end |
Instance Method Details
#[](index) ⇒ Object
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 |
#close ⇒ Object
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
319 320 321 |
# File 'lib/libsql.rb', line 319 def closed? @inner.nil? end |
#columns ⇒ Object
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 |
#each ⇒ Object
297 |
# File 'lib/libsql.rb', line 297 def each = (0...length).each { |i| yield self[i] } |
#length ⇒ Object
285 286 287 288 289 |
# File 'lib/libsql.rb', line 285 def length raise ClosedException if closed? @inner.length end |
#to_h ⇒ Object
283 |
# File 'lib/libsql.rb', line 283 def to_h = columns.zip(to_a).to_h |