class Elasticity::MultiSearchResponseParser

Public Class Methods

parse(response, search) click to toggle source
# File lib/elasticity/multi_search_response_parser.rb, line 5
def self.parse(response, search)
  raise error_for(response["status"]), response.to_json if response["error"]

  case
  when search[:documents]
    Search::Results.new(response, search[:search_definition].body, search[:documents].method(:map_hit))
  when search[:active_records]
    Search::ActiveRecordProxy.map_response(search[:active_records], search[:search_definition].body, response)
  end
end

Private Class Methods

error_for(status) click to toggle source
# File lib/elasticity/multi_search_response_parser.rb, line 18
def self.error_for(status)
  Elasticsearch::Transport::Transport::ERRORS[status] || UnknownError
end