lib/mongoid/elasticsearch/response.rb in mongoid-elasticsearch-0.2.1 vs lib/mongoid/elasticsearch/response.rb in mongoid-elasticsearch-0.3.0

- old
+ new

@@ -9,16 +9,16 @@ include Pagination attr_reader :time, :total, :options, :facets, :max attr_reader :response - def initialize(client, query, multi, model, wrapper, options) + def initialize(client, query, multi, model, options) @client = client @query = query @multi = multi @model = model - @wrapper = wrapper + @wrapper = options[:wrapper] @options = options end def perform! response = @client.search(@query) @@ -42,11 +42,11 @@ def raw_response @raw_response ||= perform! end def hits - @hits ||= raw_response['hits']['hits'].map { |d| d.update '_type' => Utils.unescape(d['_type']) } + @hits ||= raw_response['hits']['hits'] end def results return [] if failure? @results ||= begin @@ -57,10 +57,11 @@ else @model.find(hits.map { |h| h['_id'] }) end when :mash hits.map do |h| - m = Hashie::Mash.new(h) + s = h.delete('_source') + m = Hashie::Mash.new(h.merge(s)) m.id = BSON::ObjectId.from_string(h['_id']) m._id = m.id m end when :model