On Oct 22, 6:08 ¨Βν¬ ΆΠιτ ΓαπιταιξΌπιτ®γαπιτ®®®ΐηναιμ®γονΎ χςοτεΊ

> Tom, that's easy if you split the creation of the classes from naming them:
>
> y = Class.new
>
> class X < y
> end
>
> X::Y = y
>
> p X.ancestors  => [X, X::Y, Object, Kernel]

Thanks Pit (and David),

The solution is cleaner than I thought it would be actually --that's
good, but I avoided this direction myself b/c of how it would effect
RDocs. RDoc sees X::Y as just a constant and not a class. Yea, I know
I shouldn't code to the rdocs, but unfortunately RDocs are important.
Maybe something to consider for improving Rdocs in the future, a way
to force it to recognize certain dynamic designs as particular
constructs. But I digress...

Another option that occurred to me, I could make X the primary class
and subclass it as Y even though it would mean a couple
remove_methods. Still not ideal but perhaps close enough.

T.