From 44493aceb52cd37d18ad130178a8abfc66e7df89 Mon Sep 17 00:00:00 2001 From: Mikel Kew Date: Thu, 15 Feb 2018 11:21:50 +1000 Subject: [PATCH] Adding a HashWrapper for results to prevent Hashie log warnings (#859) --- lib/searchkick.rb | 1 + lib/searchkick/hash_wrapper.rb | 12 ++++++++++++ lib/searchkick/results.rb | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 lib/searchkick/hash_wrapper.rb diff --git a/lib/searchkick.rb b/lib/searchkick.rb index b280106..24d7fdb 100644 --- a/lib/searchkick.rb +++ b/lib/searchkick.rb @@ -6,6 +6,7 @@ require "searchkick/index_options" require "searchkick/index" require "searchkick/indexer" require "searchkick/reindex_queue" +require "searchkick/hash_wrapper" require "searchkick/results" require "searchkick/query" require "searchkick/multi_search" diff --git a/lib/searchkick/hash_wrapper.rb b/lib/searchkick/hash_wrapper.rb new file mode 100644 index 0000000..a5eb37f --- /dev/null +++ b/lib/searchkick/hash_wrapper.rb @@ -0,0 +1,12 @@ +module Searchkick + # Subclass of `Hashie::Mash` to wrap Hash-like structures + # (responses from Elasticsearch) + # + # The primary goal of the subclass is to disable the + # warning being printed by Hashie for re-defined + # methods, such as `sort`. + # + class HashWrapper < ::Hashie::Mash + disable_warnings if respond_to?(:disable_warnings) + end +end diff --git a/lib/searchkick/results.rb b/lib/searchkick/results.rb index e4af90a..3b31045 100644 --- a/lib/searchkick/results.rb +++ b/lib/searchkick/results.rb @@ -68,7 +68,7 @@ module Searchkick end result["id"] ||= result["_id"] # needed for legacy reasons - Hashie::Mash.new(result) + HashWrapper.new(result) end end end -- libgit2 0.21.0