Skip to content

Measure sorbet adoption progress

Notifications You must be signed in to change notification settings

jaredbeck/sorbet-progress

Repository files navigation

SorbetProgress

Measure your progress as you adopt sorbet. I find that measuring progress keeps me motivated, which is crucial to finishing a project.

Installation

Add this line to your application's Gemfile:

gem 'sorbet-progress'

Then:

bundle

Or install it yourself:

gem install sorbet-progress

Usage

bundle exec srb tc --metrics-file /tmp/sorbet_metrics.json
# No errors! Great job.
bundle exec sorbet_progress /tmp/sorbet_metrics.json
# Sorbet Progress

# Progress for sig coverage
# total_signatures 	7528
# total_methods    	183447
# total_classes    	112433

# Progress for file coverage
# sigil_ignore     	12	    0.20 %
# sigil_false      	5466	    91.60 %
# sigil_true       	460	    7.71 %
# sigil_strict     	12	    0.20 %
# sigil_strong     	17	    0.28 %
# ---------------------------------------
# Total: 		5967	100%
# Keep up the good work 👍

Not sure what the best format is. Pull requests welcome. It might be nice to have an overall percentage, for example.

Reporters

bar_chart

bundle exec sorbet_progress --reporter bar_chart /tmp/sorbet_metrics.json
Sorbet progress: ignore | false | true | strict+
|-0-|-2-|-------------32-------------|-------------------------61-------------------------|
Keep up the good work 👍

The chart sums strict and strong, because strict is the highest reasonable goal for most applications.

verbose

bundle exec sorbet_progress --verbose /tmp/sorbet_metrics.json
Sorbet Progress

Progress for sig coverage
total_signatures 	7528
total_methods    	183447
total_classes    	112433

Progress for file coverage
sigil_ignore     	12	    0.20 %
sigil_false      	5466	    91.60 %
sigil_true       	460	    7.71 %
sigil_strict     	12	    0.20 %
sigil_strong     	17	    0.28 %
---------------------------------------
Total: 		5967	100%
Keep up the good work 👍

See example

Contributing

This project does not accept bug reports. Pull requests are welcome.

This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct

About

Measure sorbet adoption progress

Resources

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages