В языках, которые изменяют код во время выполнения, таких как Ruby, трудно точно предсказать 100% происхождение символов, методов и т. Д.
Я имею дело со многими сторонними гемами, которые нуждаются в анализе исходного кода, и обнаружил, что лучший инструмент для этой задачи - это Netbeas + это плагины Ruby и Rails.
- обеспечивает хорошую навигацию в исходном коде зависимых гемов (в отличие от других альтернатив)
- визуальные точки останова и отладки, которые действительно работают (с трассировкой и всем) **
** у него есть некоторые глюки с вызовами методов в полученных кодовых блоках (как каждый {}), но я научился справляться с этими
Обычно я устанавливаю точки останова и анализирую код во время выполнения.