From b3b33377195f06210d1adcfa125bfbdeb6102f90 Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Thu, 7 Jan 2021 17:39:52 +0900 Subject: [PATCH] Use private_method_defined? instead of respond_to? `Module.respond_to?(:ruby2_keywords, true)` does NOT check if `Module#ruby2_keywords` is available. It worked well because there is toplevel `ruby2_keywords` method, but using `private_method_defined?` is better, I think. Also, this fixes a syntactic error. --- lib/ruby2_keywords.rb | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/ruby2_keywords.rb b/lib/ruby2_keywords.rb index a41cc2a..7d16a08 100644 --- a/lib/ruby2_keywords.rb +++ b/lib/ruby2_keywords.rb @@ -1,5 +1,5 @@ class Module - unless respond_to?(:ruby2_keywords, true) + unless private_method_defined?(:ruby2_keywords, true) private def ruby2_keywords(name, *) # nil @@ -23,12 +23,9 @@ def ruby2_keywords end class Hash - unless respond_to?(:ruby2_keywords_hash?) - begin - $VERBOSE, verbose = nil, $VERBOSE - proc {|*a, **h| h}.call( - ensure - $VERBOSE = verbose + unless method_defined?(:ruby2_keywords_hash?) + def ruby2_keywords_hash? + false end end end