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.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/rigor/cli/coverage_command.rb', line 44 def run = return mutation_misuse_error if [:mutation] && ![:protection] return run_mutation_protection() if [:mutation] paths = collect_paths(@argv, command_name: "coverage") return CLI::EXIT_USAGE if paths.nil? return usage_error if paths.empty? return run_protection(paths, ) if [:protection] report = scan_paths(paths, ) CoverageRenderer.new(out: @out).render(report, format: .fetch(:format)) determine_exit(report, ) end |