Skip to content
Ruby call graph, class dependencies, code browser
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
lib/code_explorer
.gitignore
CHANGELOG.md
Gemfile
README.md
VERSION
code-explorer.gemspec
example.png

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

You can’t perform that action at this time.