>> I have a module I would like to do some 
>> initialization of a class when a new instance 
>> is created.  What is the best way my initialization 
>> code executes when a new instance of the object or 
>> a sub-class of the object is instantiated?  I'd like 
>> this to be as transparent to the user as possible.

 If initialization is so complex that you want to hide
it from the user (and especially if there are several 
ways to do it), another way to do it would be to wrap 
it in a GoF factory and combine it with the technique 
described in "Object Construction and Blocks" at:

http://www.pragmaticprogrammer.com/ruby/articles/insteval.html


This way you'd leave your initialize() clean for future/some other
use and independant of that particular construction (providing 
that you need it to be clean, i.e. when there is more then one
way to construct it). 

(Sorry if I missed the point.)


Regards,
Maksa