class SorbetProgress::Reporters::Verbose
The first reporter written. It's quite verbose, so I'm calling it ..
Public Class Methods
new(calculator)
click to toggle source
# File lib/sorbet_progress/reporters/verbose.rb, line 13 def initialize(calculator) @calculator = calculator end
Public Instance Methods
report()
click to toggle source
# File lib/sorbet_progress/reporters/verbose.rb, line 18 def report [ "Sorbet Progress\n", "Progress for sig coverage", coverage_metrics, "\nProgress for file coverage", sigil_percentages, "---------------------------------------", "Total: \t\t\t#{@calculator.total}\t100%", "Keep up the good work 👍" ].flatten.join("\n") end
Private Instance Methods
coverage_metrics()
click to toggle source
# File lib/sorbet_progress/reporters/verbose.rb, line 41 def coverage_metrics @calculator.coverage_metrics.map do |label, value| format_metric(label, value) end end
format_metric(label, value)
click to toggle source
# File lib/sorbet_progress/reporters/verbose.rb, line 49 def format_metric(label, value) if value.nil? format("%-17s\tunknown", label) else format("%-17s\t%d", label, value) end end
sigil_percentages()
click to toggle source
# File lib/sorbet_progress/reporters/verbose.rb, line 67 def sigil_percentages @calculator.sigil_percentages.map do |elem| percentage = if elem[:percentage] elem[:percentage] * 100 else 0 end format( "%-17s\t%d\t%.2f %%", elem[:label], elem[:value] || 0, percentage ) end end