From: Loren Segal Date: 2008-06-16T19:16:24+09:00 Subject: Re: why can't an instance instantiated within a class method access a protected instance method? > Does this make sense to people it should do this? Should people use send() to get around protected method visibility? No. Do they? Yes. Is it justified? Sometimes it is, sometimes it isn't. Having to send() to get around a visibility issue usually implies that there's some API design problem in the code you're using. The reason its usage is sometimes justified is simply because you don't own everybody else's code and you can't be held liable for their mistakes. There's also the case where you simply have no other choice. I think in this scenario you really need to ask yourself why the method is protected to begin with. I see nothing in your code that would have me believe that your `self.reconcile` method *must* come from the metaclass of the object. In fact, it looks like a factory method that could ideally be called from anywhere. That to me constitutes public method, especially since what's really happening is: "grab a bunch of objects and call `reconcile_once` on them"... I see no reason why some fictional `MyOtherClass` wouldn't be able to do the same thing with your objects. Loren -- Posted via http://www.ruby-forum.com/.