Class: DataMapper::Adapters::MysqlAdapter::Queries::Reader
- Inherits:
-
Object
- Object
- DataMapper::Adapters::MysqlAdapter::Queries::Reader
- Includes:
- Enumerable
- Defined in:
- lib/data_mapper/adapters/mysql_adapter.rb
Overview
class Connection
Instance Method Summary collapse
- #[](column) ⇒ Object
- #close ⇒ Object
- #each ⇒ Object
- #each_pair ⇒ Object
- #eof? ⇒ Boolean
-
#initialize(results) ⇒ Reader
constructor
A new instance of Reader.
- #next ⇒ Object
- #records_affected ⇒ Object
Constructor Details
#initialize(results) ⇒ Reader
Returns a new instance of Reader.
118 119 120 121 122 123 124 125 |
# File 'lib/data_mapper/adapters/mysql_adapter.rb', line 118 def initialize(results) @results = results @columns = {} results.fetch_fields.each_with_index do |field, index| @columns[field.name] = index end @current_row_index = 0 end |
Instance Method Details
#[](column) ⇒ Object
148 149 150 151 152 |
# File 'lib/data_mapper/adapters/mysql_adapter.rb', line 148 def [](column) index = @columns[column] return nil if index.nil? @current_row[index] end |
#close ⇒ Object
160 161 162 |
# File 'lib/data_mapper/adapters/mysql_adapter.rb', line 160 def close @results.free end |
#each ⇒ Object
141 142 143 144 145 146 |
# File 'lib/data_mapper/adapters/mysql_adapter.rb', line 141 def each @results.each do |row| @current_row = row yield self end end |
#each_pair ⇒ Object
154 155 156 157 158 |
# File 'lib/data_mapper/adapters/mysql_adapter.rb', line 154 def each_pair @columns.each_pair do |column_name, index| yield(column_name, @current_row[index]) end end |
#eof? ⇒ Boolean
127 128 129 |
# File 'lib/data_mapper/adapters/mysql_adapter.rb', line 127 def eof? records_affected <= @current_row_index end |
#next ⇒ Object
135 136 137 138 139 |
# File 'lib/data_mapper/adapters/mysql_adapter.rb', line 135 def next @current_row_index += 1 @current_row = @results.fetch_row self end |
#records_affected ⇒ Object
131 132 133 |
# File 'lib/data_mapper/adapters/mysql_adapter.rb', line 131 def records_affected @results.num_rows end |