Class: Rigor::CLI::CoverageRenderer

Inherits:
Object
  • Object
show all
Defined in:
lib/rigor/cli/coverage_renderer.rb

Overview

Renders a ‘CoverageReport` as terminal-friendly text or JSON.

Constant Summary collapse

TIER_LABELS =
{
  constant: "constant",
  nominal: "nominal",
  shaped: "shaped (Tuple/Hash/Range/generic)",
  refined: "refined",
  bot: "bot (unreachable)",
  dynamic_specific: "dynamic — partial info",
  dynamic_top: "dynamic — opaque (untyped)",
  top: "top"
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(out:) ⇒ CoverageRenderer

Returns a new instance of CoverageRenderer.



20
21
22
# File 'lib/rigor/cli/coverage_renderer.rb', line 20

def initialize(out:)
  @out = out
end

Instance Method Details

#render(report, format:) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/rigor/cli/coverage_renderer.rb', line 24

def render(report, format:)
  case format
  when "text" then render_text(report)
  when "json" then render_json(report)
  else raise OptionParser::InvalidArgument, "unsupported format: #{format}"
  end
end