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