> 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/.