From: Tom M Date: 2007-09-25T09:40:03+09:00 Subject: Re: best way to 'hide' a method when method_missing is in town > > This isn't a solution for your problem, but a comment on the > (possible?) root of it: IMO, method_missing shouldn't fire on private/ > protected method calls. My opinion goes further, that calling a > private or protected method shouldn't raise the same exception as > calling a method that doesn't exist. If for some reason one wants to > track attempted access to private methods, rescuing NoMethodError and > checking text is somewhat unsavory. It would be nicer to rescue > MethodAccessLevelError (or something with an even better name), which > could be related to NoMethodError based on use cases (right now, I see > them as children of the same parent). Your suggestion seems to violate the notion of encapsulation. If an change were to be made, I'd think it would be better to make the error the same for calling a parent's private method as it is for calling a non-existant method.