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.
269 270 271 |
# File 'lib/libsql.rb', line 269 def initialize(inner) @inner = inner end |
Instance Method Details
#[](index) ⇒ Object
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 |
#close ⇒ Object
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
309 310 311 |
# File 'lib/libsql.rb', line 309 def closed? @inner.nil? end |
#columns ⇒ Object
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 |
#each ⇒ Object
287 |
# File 'lib/libsql.rb', line 287 def each = (0...length).each { |i| yield self[i] } |
#length ⇒ Object
275 276 277 278 279 |
# File 'lib/libsql.rb', line 275 def length raise ClosedException if closed? @inner.length end |
#to_h ⇒ Object
273 |
# File 'lib/libsql.rb', line 273 def to_h = columns.zip(to_a).to_h |