Class: KnjDB_sqlite3_result
- Defined in:
- lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb
Overview
This class handels the result when running MRI (or others).
Instance Method Summary collapse
-
#each ⇒ Object
Loops over every result yielding them.
-
#fetch ⇒ Object
Returns a single result.
-
#initialize(driver, result_array) ⇒ KnjDB_sqlite3_result
constructor
Constructor.
Constructor Details
#initialize(driver, result_array) ⇒ KnjDB_sqlite3_result
Constructor. This should not be called manually.
147 148 149 150 151 152 153 154 155 156 |
# File 'lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb', line 147 def initialize(driver, result_array) @result_array = result_array @index = 0 if driver.knjdb.opts[:return_keys] == "symbols" @symbols = true else @symbols = false end end |
Instance Method Details
#each ⇒ Object
Loops over every result yielding them.
179 180 181 182 183 |
# File 'lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb', line 179 def each while data = self.fetch yield(data) end end |
#fetch ⇒ Object
Returns a single result.
159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
# File 'lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb', line 159 def fetch result_hash = @result_array[@index] return false if !result_hash @index += 1 ret = {} result_hash.each do |key, val| if (Float(key) rescue false) #do nothing. elsif @symbols and !key.is_a?(Symbol) ret[key.to_sym] = val else ret[key] = val end end return ret end |