Используйте proc.source_location, чтобы получить расположение исходного файла, который определяет proc.
Он также возвращает номер строки определения.
Эти значения можно использовать для определения местоположения источника proc.
Ответ 4
Я думаю, вы могли бы использовать ParseTree для этого, также кажется, что поддержка Ruby 1.9.2 - это приближается.