Class: DataMapper::Adapters::Sqlite3Adapter::Queries::Reader

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/data_mapper/adapters/sqlite3_adapter.rb

Overview

class Connection

Instance Method Summary collapse

Constructor Details

#initialize(results) ⇒ Reader

Returns a new instance of Reader.



103
104
105
106
107
108
109
# File 'lib/data_mapper/adapters/sqlite3_adapter.rb', line 103

def initialize(results)
  @results = results
  @columns = {}
  @results.columns.each_with_index do |name, index|
    @columns[name] = index
  end
end

Instance Method Details

#[](column) ⇒ Object



130
131
132
133
134
# File 'lib/data_mapper/adapters/sqlite3_adapter.rb', line 130

def [](column)
  index = @columns[column]
  return nil if index.nil? || @current_row.nil?
  @current_row[index]
end

#close ⇒ Object



142
143
144
# File 'lib/data_mapper/adapters/sqlite3_adapter.rb', line 142

def close
  @results.close
end

#each ⇒ Object



124
125
126
127
128
# File 'lib/data_mapper/adapters/sqlite3_adapter.rb', line 124

def each
  until self.next.eof?
    yield(self)
  end
end

#each_pair ⇒ Object



136
137
138
139
140
# File 'lib/data_mapper/adapters/sqlite3_adapter.rb', line 136

def each_pair            
  @columns.each_pair do |column_name, index|
    yield(column_name, @current_row.nil? ? nil : @current_row[index])
  end
end

#eof? ⇒ Boolean

Returns:

  • (Boolean)


111
112
113
# File 'lib/data_mapper/adapters/sqlite3_adapter.rb', line 111

def eof?
  @results.eof?
end

#next ⇒ Object



119
120
121
122
# File 'lib/data_mapper/adapters/sqlite3_adapter.rb', line 119

def next
  @current_row = @results.next
  self
end

#records_affected ⇒ Object



115
116
117
# File 'lib/data_mapper/adapters/sqlite3_adapter.rb', line 115

def records_affected
  @results.entries.size
end