Class: KnjDB_sqlite3_result_java
- Defined in:
- lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb
Overview
This class handels results when running in JRuby.
Instance Method Summary collapse
-
#each ⇒ Object
Loops over every result and yields them.
-
#fetch ⇒ Object
Returns a single result.
-
#initialize(driver, rs) ⇒ KnjDB_sqlite3_result_java
constructor
A new instance of KnjDB_sqlite3_result_java.
Constructor Details
#initialize(driver, rs) ⇒ KnjDB_sqlite3_result_java
Returns a new instance of KnjDB_sqlite3_result_java.
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb', line 105 def initialize(driver, rs) @index = 0 retkeys = driver.knjdb.opts[:return_keys] if rs = rs.getMetaData columns_count = .getColumnCount @rows = [] while rs.next row_data = {} for i in (1..columns_count) col_name = .getColumnName(i) col_name = col_name.to_s.to_sym if retkeys == "symbols" row_data[col_name] = rs.getString(i) end @rows << row_data end end end |
Instance Method Details
#each ⇒ Object
Loops over every result and yields them.
137 138 139 140 141 |
# File 'lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb', line 137 def each while data = self.fetch yield(data) end end |
#fetch ⇒ Object
Returns a single result.
128 129 130 131 132 133 134 |
# File 'lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb', line 128 def fetch return false if !@rows ret = @rows[@index] return false if !ret @index += 1 return ret end |