Module: Rigor::Analysis::DependencySourceInference

Defined in:
lib/rigor/analysis/dependency_source_inference.rb,
lib/rigor/analysis/dependency_source_inference/index.rb,
lib/rigor/analysis/dependency_source_inference/walker.rb,
lib/rigor/analysis/dependency_source_inference/builder.rb,
lib/rigor/analysis/dependency_source_inference/gem_resolver.rb,
lib/rigor/analysis/dependency_source_inference/return_type_heuristic.rb,
lib/rigor/analysis/dependency_source_inference/boundary_cross_reporter.rb

Overview

Implementation of [ADR-10 — Opt-in dependency-source inference](../../../docs/adr/10-dependency-source-inference.md).

The namespace coordinates three components:

  • GemResolver maps a ‘Configuration::Dependencies::Entry` to either a frozen `Resolved(gem_name, version, gem_dir, mode, roots)` or an `Unresolvable(gem_name, reason)` value.

  • Builder.build folds a ‘Configuration::Dependencies` into a frozen Index carrying the partitioned outcomes.

  • Index holds the per-run state the dispatcher tier consults via ‘#contribution_for`; the method table is fully populated by Walker walking each resolved gem’s ‘roots:`.

Defined Under Namespace

Modules: Builder, GemResolver, ReturnTypeHeuristic, Walker Classes: BoundaryCrossReporter, Index