Issue #5673 has been updated by trans (Thomas Sawyer).


@nobu Well, first let me point out that if method `#foo` is private, then it ain't so simple again. But secondly and really more importantly, this would be because I constantly confuse #undef_method for #remove_method and vice-versa. Really, the name `undef` always throws me off and has me thinking it's the opposite of `def`, but it's not. (Yea, okay another pet-peeve.)

So let me back up to the beginning and substitute #remove_method for where I had been saying #undef_method.

However, now that both of these methods have been brought up, in truth, I think it is equality applicable to both. And really which functionality is "right", just depends on the developers particular usecase.

So after some thought, I think Adam's proposal might be the best idea. It gives us the option of either functionality as needed.

----------------------------------------
Feature #5673: undef_method probably doesn't need to raise an error
https://bugs.ruby-lang.org/issues/5673#change-25565

Author: trans (Thomas Sawyer)
Status: Feedback
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: 
Target version: 2.0.0


Is there any significant reason for #undef_method to raise an error if the method is already undefined? If no, then change it to just continue on. It can return true/false to relay if was undefined vs already undefined.



-- 
http://bugs.ruby-lang.org/