Class: KnjDB_sqlite3_result

Inherits:
Object show all
Defined in:
lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb

Instance Method Summary collapse

Constructor Details

#initialize(driver, result_array) ⇒ KnjDB_sqlite3_result

Returns a new instance of KnjDB_sqlite3_result.



127
128
129
130
131
132
133
134
135
136
# File 'lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb', line 127

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

#eachObject



157
158
159
160
161
# File 'lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb', line 157

def each
  while data = self.fetch
    yield(data)
  end
end

#fetchObject



138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# File 'lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb', line 138

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