Размышление о вложенном пространстве имен

Я пытаюсь найти корневой класс / модуль вложенного пространства имен.

Это самый эффективный способ его найти? Мне не нравится, что я конвертирую в строку. Похоже, должно быть более элегантное решение.

class Foo
   class Bar
     def parent
        Object.const_get self.class.to_s.split(/::/).first
     end
   end
end

Foo::Bar.new.parent #=> Foo
5
задан The Who 24 March 2011 в 18:26
поделиться