Starts a local web server which lets you apply the other tools to all
files in a directory subtree.
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.
Identifies fully qualified class names and makes an inheritance graph
- parser gem (parses Ruby)
- Graphviz (graph visualizer)
- Sinatra (a small web framework)
- Cheetah (runs commands)
- CodeRay (syntax highlighting)
Running from Source
bundle install --path vendor/bundle bundle exec code-explorer
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