Complect complexity and churn for a given path to locate problem areas in your Ruby applications.
Complexity is calculated using Flog for ABC metrics, with a configurable minimum complexity score. Methods with scores below the cutoff are discarded, and the average of the remaining methods is taken.
Churn is currently a simplistic count of commits per file.
Files exceeding both the complexity score and churn count values are reported.
gem install seethe
Seethe expects to be run from inside your project directory, which must be a git repository.
cd <project dir>
seethe
You may also specify a subdirectory of your project and override the default complexity score/churn counts.
seethe [sub directory] [complexity cut off (default 60)] [churn cut off (default 10)]
# Report on all Rails views with no cutoff
seethe app/views 0 0
# Report on entire Rails app, looking for high churn
seethe . 0 50
- Flog for ABC metrics
- James Martin — For doing the heavy lifting converting ERB into floggable source.