From: "trans (Thomas Sawyer)" Date: 2012-04-01T12:19:48+09:00 Subject: [ruby-core:44037] [ruby-trunk - Feature #5673] undef_method probably doesn't need to raise an error 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/