From 253a6b87644684971e7c34bed7dc28b67967614c Mon Sep 17 00:00:00 2001 From: Matt Larraz Date: Wed, 13 Jan 2021 17:41:09 -0800 Subject: [PATCH] Fix on Ruby 3 --- lib/makara/connection_wrapper.rb | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/makara/connection_wrapper.rb b/lib/makara/connection_wrapper.rb index ec77836e..bc6f7dbf 100644 --- a/lib/makara/connection_wrapper.rb +++ b/lib/makara/connection_wrapper.rb @@ -102,15 +102,18 @@ def execute(*args) end # we want to forward all private methods, since we could have kicked out from a private scenario - def method_missing(m, *args, &block) - if _makara_connection.respond_to?(m) - _makara_connection.public_send(m, *args, &block) - else # probably private method - _makara_connection.__send__(m, *args, &block) + if RUBY_VERSION >= "2.7.0" + class_eval <<-RUBY, __FILE__, __LINE__ + 1 + def method_missing(...) + _makara_connection.send(...) + end + RUBY + else + def method_missing(m, *args, &block) + _makara_connection.send(m, *args, &block) end end - class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1 def respond_to#{RUBY_VERSION.to_s =~ /^1.8/ ? nil : '_missing'}?(m, include_private = false) _makara_connection.respond_to?(m, true)