Module: Snoot::AnalyserOrchestration

Defined in:
lib/snoot/analyser_orchestration.rb,
lib/snoot/analyser_orchestration/default.rb,
lib/snoot/analyser_orchestration/result_mapping.rb

Overview

The duck-typed orchestration contract the CLI demands – any object responding to these five methods qualifies (no base class to inherit):

vendored_doc(smell_type) -> String?
significant_smells(smells) -> Set<Smell>
significant_complexities(complexities) -> Set<ComplexityHit>
significant_duplications(duplications) -> Set<DuplicationCluster>
analyse(paths) -> Sources | AnalyserFailure

Each call is pure within a single CLI invocation (see snoot.allium’s Determinism invariant); outputs may differ across invocations as the source under analysis changes – not a violation. The test double is Snoot::Spec::FakeOrchestration; the production adapter is Snoot::AnalyserOrchestration::Default. Report location rendering is Snoot::Location#description’s job, not this contract’s.

Defined Under Namespace

Modules: Default, ResultMapping