From fc9d89b271aecc679befedc211a134fd5cfd58cf Mon Sep 17 00:00:00 2001 From: Nikita Shilnikov Date: Sun, 30 Oct 2022 20:55:29 +0300 Subject: [PATCH] Retire check for method presence bind_call introduced in 2.7 --- lib/dry/types/predicate_registry.rb | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/lib/dry/types/predicate_registry.rb b/lib/dry/types/predicate_registry.rb index 21917ff..51e6375 100644 --- a/lib/dry/types/predicate_registry.rb +++ b/lib/dry/types/predicate_registry.rb @@ -15,27 +15,14 @@ module Dry KERNEL_RESPOND_TO = ::Kernel.instance_method(:respond_to?) private_constant(:KERNEL_RESPOND_TO) - if ::UnboundMethod.method_defined?(:bind_call) - # @api private - def initialize(predicates = Logic::Predicates) - @predicates = predicates - end + # @api private + def initialize(predicates = Logic::Predicates) + @predicates = predicates + end - # @api private - def key?(name) - KERNEL_RESPOND_TO.bind_call(@predicates, name) - end - else - # @api private - def initialize(predicates = Logic::Predicates) - @predicates = predicates - @has_predicate = KERNEL_RESPOND_TO.bind(@predicates) - end - - # @api private - def key?(name) - has_predicate.(name) - end + # @api private + def key?(name) + KERNEL_RESPOND_TO.bind_call(@predicates, name) end # @api private