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