Chris Roos wrote:
> Do you have any suggestions of alternative implementation?

Depends on what you want to do.  If you just want to create instances 
then you can just use a method.

class Base
   def something
     f = create_foo
     # use f
   end
end

class Derived < Base
   class Foo
   end

   def create_foo(*a,&b)
     Foo.new(*a,&b)
   end
end

Or, if you want to do it more fancy you can define create_foo in the 
base class and have it return nil or raise an exception.

Kind regards

	robert


PS: Please don't top post and trim quotings - that way others can easier 
follow threads here.