Получить список/массив дочерних классов из Single Table Inheritance в Rails?

У меня есть целая куча дочерних классов, которые наследуются от родительского класса через наследование одной таблицы в моем приложении Rails. . Мне нужен способ получить массив всех дочерних классов, которые наследуются от основного класса.

Я попробовал следующую односвязную команду, которую нашел в другом ответе SO, но она возвращает только родительский класс.

ObjectSpace.each_object(class<<MyParentClass;self;end)

Есть ли какой-нибудь чистый способ сделать это?

РЕДАКТИРОВАТЬ: Судя по всему, Rails лениво загружает дочерние классы только при вызове в режиме разработки и, возможно, в режиме производства в зависимости от версии Rails. Однако первый ответ должен работать на Rails 3.1 и выше в режиме Prod.

13
задан thoughtpunch 10 May 2012 в 21:07
поделиться