On 2005-02-18, jc <james.cromwell / gmail.com> wrote: > What I'm really looking for is a more generic method, something like > Object#parent_namespace: > > class A; end > module B > class C > D = A.new > end > end > > puts A.parent_namespace => Object > puts B.parent_namespace => Object > puts B::C.parent_namespace => B > puts B::C::D.parent_namespace => C > puts B::C::D.class.parent_namespace => Object > > So that lookups could be easily done: > > obj.parent_namespace.const_get(:name) > obj.parent_namespace.send(name, value) > > Is there perhaps a way to do this via the Ruby C API? Although far from being elegant, and won't work for anonymous classes, you can get these methods by parsing what "inspect" and "name" gives you. Csaba