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.
149 150 151 152 153 154 155 156 157 158 |
# File 'lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb', line 149 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.
181 182 183 184 185 |
# File 'lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb', line 181 def each while data = self.fetch yield(data) end end |
#fetch ⇒ Object
Returns a single result.
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 |
# File 'lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb', line 161 def fetch result_hash = @result_array[@index] return false if !result_hash @index += 1 ret = {} result_hash.each do |key, val| if Knj::Php::is_numeric(key) #do nothing. elsif @symbols and !key.is_a?(Symbol) ret[key.to_sym] = val else ret[key] = val end end return ret end |