Class: Rigor::CLI::CoverageCommand
- Defined in:
- lib/rigor/cli/coverage_command.rb
Overview
Executes the ‘rigor coverage` command.
Walks every Prism node in one or more files, infers its type via ‘Rigor::Scope#type_of`, and classifies the result into precision tiers (constant / nominal / shaped / refined / bot / dynamic_specific / dynamic_top / top). Reports aggregate and per-file statistics so maintainers can track type-precision trends and SKILL pipelines can measure the impact of adding new constant-fold or shape-dispatch rules.
Exit codes:
0 — scan complete, precision ratio ≥ threshold (or no threshold given)
1 — precision ratio < threshold, or parse errors encountered
64 — usage error
Constant Summary collapse
- USAGE =
"Usage: rigor coverage [options] PATH..."
Instance Method Summary collapse
-
#run ⇒ Integer
CLI exit status.
Methods inherited from Command
Constructor Details
This class inherits a constructor from Rigor::CLI::Command
Instance Method Details
#run ⇒ Integer
Returns CLI exit status.
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/rigor/cli/coverage_command.rb', line 33 def run = paths = collect_paths(@argv, command_name: "coverage") return CLI::EXIT_USAGE if paths.nil? return usage_error if paths.empty? report = scan_paths(paths, ) CoverageRenderer.new(out: @out).render(report, format: .fetch(:format)) determine_exit(report, ) end |