From ec73e8474e61f103a20bb227abaed3e7de7a5dbb Mon Sep 17 00:00:00 2001 From: Imre Foldes Date: Tue, 10 Jan 2023 14:48:59 +0100 Subject: [PATCH] Drop support of symbol hash keys --- lib/core_ext/deep_fetch.rb | 6 +----- test/json_logic_test.rb | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/lib/core_ext/deep_fetch.rb b/lib/core_ext/deep_fetch.rb index b1be56b..07cfb49 100644 --- a/lib/core_ext/deep_fetch.rb +++ b/lib/core_ext/deep_fetch.rb @@ -43,11 +43,7 @@ def deep_fetch(key, default = nil) class Hash def deep_fetch(key, default = nil) keys = VarCache.fetch_or_store(key) - value = keys.inject(self) do |memo, item| - memo.key?(item) ? memo[item] : memo[item.to_sym] - rescue - default - end + value = dig(*keys) rescue default value.nil? ? default : value # value can be false (Boolean) end end diff --git a/test/json_logic_test.rb b/test/json_logic_test.rb index 6efc7c4..2963f9e 100644 --- a/test/json_logic_test.rb +++ b/test/json_logic_test.rb @@ -133,11 +133,11 @@ def test_uses_data_missing ) provided_data_missing_y = { - x: 3, + 'x' => 3, } provided_data_missing_x = { - y: 4, + 'y' => 4, } assert_equal ["y"], JSONLogic.apply({"missing": [vars]}, provided_data_missing_y)