From e4c60ffc134f337d76190ceda9ca233490da4d4a Mon Sep 17 00:00:00 2001 From: Oskar Eichler Date: Sat, 29 Aug 2026 23:13:25 +0200 Subject: [PATCH] Warn on instance predicate collisions --- lib/enumerize/predicates.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/enumerize/predicates.rb b/lib/enumerize/predicates.rb index 03b0784..f6aea6b 100644 --- a/lib/enumerize/predicates.rb +++ b/lib/enumerize/predicates.rb @@ -78,7 +78,9 @@ def warn_on_already_defined_methods names.each do |name| method_name = [@options[:prefix], name].compact.join('_') - if @attr.klass.respond_to?(method_name) + if @attr.klass.respond_to?(method_name) || + @attr.klass.method_defined?(method_name) || + @attr.klass.private_method_defined?(method_name) warn( "Predicate method `#{name}` is already defined as #{@attr.klass.name}##{name}. Use enumerize's :prefix option to avoid it" )