Печать внутри приложения против полной трассировки стека? - PullRequest
0 голосов
/ 01 февраля 2012

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

Мне в первую очередь нужны зависимые скрипты в моем собственном приложении на Rails, над которыми у меня фактически есть контроль. Я мог бы сказать (неточно), что я хотел бы, чтобы, когда был сделан запрос, в консоли он распечатывал вызываемый корневой скрипт, а затем все его ссылки вплоть до последнего представления erb / haml, и т.д.

Как я могу выполнить что-то подобное, не помещая оператор put в каждый файл в моем приложении Rails в начале и в конце каждого из них?

Если я вставлю puts "-> #{File.expand_path(File.dirname(__FILE__))}/#{File.basename(__FILE__)}" в каждый из файлов приложения Rails, это может более или менее выполнить то, к чему я пытаюсь добраться, однако это будет что-то вроде этого " Показать полное имя пути файл ruby, когда он загружен", делает свое дело более подходящим образом, не изменяя все виды файлов; держать его сухим?

1 Ответ

0 голосов
/ 01 февраля 2012

Вы можете отфильтровать вывод Kernel#caller, проверив имя файла. Если он находится в каталоге вашего проекта, распечатайте его. В противном случае игнорируйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...