diff --git a/lib/dry/logic/predicates.rb b/lib/dry/logic/predicates.rb index 5147ef2f..3ab8100a 100644 --- a/lib/dry/logic/predicates.rb +++ b/lib/dry/logic/predicates.rb @@ -9,6 +9,8 @@ module Logic module Predicates # rubocop:disable Metrics/ModuleLength module Methods + extend Dry::Core::Deprecations[:dry_logic] + def self.uuid_format(version) ::Regexp.new(<<~FORMAT.chomp, ::Regexp::IGNORECASE) \\A[0-9A-F]{8}-[0-9A-F]{4}-#{version}[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}\\z @@ -254,9 +256,10 @@ def uri_rfc3986?(input) format?(URI::RFC3986_Parser::RFC3986_URI, input) end - def respond_to?(method, input) + def interface?(method, input) input.respond_to?(method) end + deprecate :respond_to?, :interface? def predicate(name, &block) define_singleton_method(name, &block) diff --git a/spec/integration/builder/predicate_spec.rb b/spec/integration/builder/predicate_spec.rb index a6f84356..1ab28997 100644 --- a/spec/integration/builder/predicate_spec.rb +++ b/spec/integration/builder/predicate_spec.rb @@ -1115,9 +1115,9 @@ end end - describe :respond_to? do + describe :interface? do let(:expression) do - ->(*) { respond_to?(:awesome?) } + ->(*) { interface?(:awesome?) } end describe "success" do diff --git a/spec/unit/predicates/respond_to_spec.rb b/spec/unit/predicates/interface_spec.rb similarity index 88% rename from spec/unit/predicates/respond_to_spec.rb rename to spec/unit/predicates/interface_spec.rb index df89edeb..38789e6c 100644 --- a/spec/unit/predicates/respond_to_spec.rb +++ b/spec/unit/predicates/interface_spec.rb @@ -3,8 +3,8 @@ require "dry/logic/predicates" RSpec.describe Dry::Logic::Predicates do - describe "#respond_to?" do - let(:predicate_name) { :respond_to? } + describe "#interface?" do + let(:predicate_name) { :interface? } context "when value responds to method" do let(:arguments_list) do