0.02
No commit activity in last 3 years
No release in over 3 years
Measure sorbet adoption progress
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.1
~> 5.0
~> 0.72.0

Runtime

= 3.0
>= 0.4.4314
>= 0.4.4314
 Project Readme

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