# File lib/dm-core/adapters/data_objects_adapter.rb, line 96 def query(statement, *bind_values) with_reader(statement, bind_values) do |reader| results = [] if (fields = reader.fields).size > 1 fields = fields.map { |field| Extlib::Inflection.underscore(field).to_sym } struct = Struct.new(*fields) while(reader.next!) do results << struct.new(*reader.values) end else while(reader.next!) do results << reader.values.at(0) end end results end end