From bc6d90bc3f22da805a0562e75e67f76aa9e7fe0b Mon Sep 17 00:00:00 2001 From: Svetlana Saveleva Date: Fri, 4 Apr 2014 12:08:32 +0000 Subject: [PATCH] fix search request definition --- .../lib/elasticsearch/model/searching.rb | 2 +- .../test/unit/response_pagination_test.rb | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/elasticsearch-model/lib/elasticsearch/model/searching.rb b/elasticsearch-model/lib/elasticsearch/model/searching.rb index b71ebbab2..0f75f0804 100644 --- a/elasticsearch-model/lib/elasticsearch/model/searching.rb +++ b/elasticsearch-model/lib/elasticsearch/model/searching.rb @@ -24,7 +24,7 @@ def initialize(klass, query_or_payload, options={}) case # search query: ... when query_or_payload.respond_to?(:to_hash) - body = query_or_payload.to_hash + body = query_or_payload.to_hash.deep_symbolize_keys # search '{ "query" : ... }' when query_or_payload.is_a?(String) && query_or_payload =~ /^\s*{/ diff --git a/elasticsearch-model/test/unit/response_pagination_test.rb b/elasticsearch-model/test/unit/response_pagination_test.rb index 856e2ed3c..57a53efa8 100644 --- a/elasticsearch-model/test/unit/response_pagination_test.rb +++ b/elasticsearch-model/test/unit/response_pagination_test.rb @@ -81,6 +81,19 @@ def self.document_type; 'bar'; end assert_equal 50, @response.limit_value assert_equal 10, @response.offset_value end + + should "return the value from body with object responding to `to_hash`" do + query = Hashie::Mash.new({ + query: { match_all: {} }, + size: 50, + from: 10 + }) + search = Elasticsearch::Model::Searching::SearchRequest.new ModelClass, query + @response = Elasticsearch::Model::Response::Response.new ModelClass, search, RESPONSE + + assert_equal 50, @response.limit_value + assert_equal 10, @response.offset_value + end end context "limit setter" do