2013-04-02 2 views

ответ

0

Не ретроактивно. AFAIK во время выполнения не сохраняет записи о том, откуда что-то было загружено, поэтому невозможно определить, был ли текущий сценарий тем, который загружал файл, ответственный за создание определенного класса или модуля. Самое близкое, что вы можете получить, это либо следить за тем, что вы загружаете, либо ходить в ObjectSpace, чтобы найти все классы и модули, которые загружаются в данный момент времени.

0

Классы и модули являются константами.

Итак, если вы должны были захватить все константы из объекта, а затем выполнить запрос и вычесть эту информацию из своего вызова после загрузки, вы увидите что-нибудь новое.

Это может выглядеть примерно так:

my_constants = Object.constants 
require 'my_library' 
new_classes_and_modules = my_constants - Object.constants 
Смежные вопросы