Ruby call graph, class dependencies, code browser
Ruby Shell
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

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

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

Packages.png, an example output