Class: Rigor::CLI::EffectsExplainRenderer

Inherits:
Object
  • Object
show all
Includes:
Renderable
Defined in:
lib/rigor/cli/effects_explain_renderer.rb

Overview

Prints what rigor effects explain found: for a reach: change, the shortest edge path from the entry point to the origin that introduced the label; for a methods: change, the origin itself (ADR-103 WD7).

reach:
OrdersController#create → OrderService#place → PaymentGateway#charge → Net::HTTP.get [io.net.http]
methods:
PaymentGateway#charge [io.net.http] ← catalogue:Net::HTTP.get

A methods: change has no path to walk — the label came from this method's own body — so what explains it is the origin: the catalogue row or language construct, and which of the two it was. Origins are line-free by design (a summary must be stable under a line move), so no position is printed; call sites are per-run data the report carries.

Defined Under Namespace

Classes: Row

Instance Method Summary collapse

Methods included from Renderable

#render

Constructor Details

#initialize(out:) ⇒ EffectsExplainRenderer

Returns a new instance of EffectsExplainRenderer.



28
29
30
# File 'lib/rigor/cli/effects_explain_renderer.rb', line 28

def initialize(out:)
  @out = out
end