Skip to content
Ruby call graph, class dependencies, code browser
Branch: master
Clone or download
Latest commit 76048f4 Aug 17, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Run the app unconditionally Aug 17, 2017
lib/code_explorer Use CodeRay for syntax highlighting Aug 17, 2017
.gitignore Read me May 13, 2016
CHANGELOG.md Releasing v0.3.0. Aug 17, 2017
Gemfile
README.md Run the app unconditionally Aug 17, 2017
VERSION
code-explorer.gemspec Use CodeRay for syntax highlighting Aug 17, 2017
example.png Added an example output. MIT License. May 26, 2016

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.