From f2682d144f9427237aeb315101f1dc628b60db05 Mon Sep 17 00:00:00 2001 From: Peter Langlois Date: Fri, 23 Aug 2024 09:26:24 -0500 Subject: [PATCH] Fix bug where add_operation manipulates the Object class --- lib/json_logic.rb | 2 +- lib/json_logic/operation.rb | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/lib/json_logic.rb b/lib/json_logic.rb index 3bb256b..e80b329 100644 --- a/lib/json_logic.rb +++ b/lib/json_logic.rb @@ -61,7 +61,7 @@ def self.filter(logic, data) end def self.add_operation(operator, function) - Operation.class.send(:define_method, operator) do |v, d| + Operation.define_singleton_method(operator) do |v, d| function.call(v, d) end end diff --git a/lib/json_logic/operation.rb b/lib/json_logic/operation.rb index 5cec5b6..b909672 100644 --- a/lib/json_logic/operation.rb +++ b/lib/json_logic/operation.rb @@ -144,11 +144,5 @@ def self.is_standard?(operator) def self.is_iterable?(operator) ['filter', 'some', 'all', 'none', 'in', 'map', 'reduce'].include?(operator.to_s) end - - def self.add_operation(operator, function) - self.class.send(:define_method, operator) do |v, d| - function.call(v, d) - end - end end end