Call Graph
This makes a call graph among methods of a single Ruby file.
I made it to help me orient myself in unfamiliar legacy code and to help identify cohesive parts that could be split out.
Yes, it is quick and dirty.
Requirements
License
MIT
Running from Source
bundle install --path vendor/bundle
bundle exec bin/code-explorer # otherwise Sinatra will not start
Example
One file in YaST has around 2700 lines and 73 methods. The call graph below was made with
$ bin/call-graph ../yast/packager/src/modules/Packages.rb
$ dot -Tpng -oPackages.png ../yast/packager/src/modules/Packages.dot
If the resulting size is too big, use ImageMagick:
$ convert Packages.png -resize 1200 Packages-small.png
