Module: Coradoc::Reference::Resolver

Defined in:
lib/coradoc/reference/resolver.rb,
lib/coradoc/reference/resolver/base.rb,
lib/coradoc/reference/resolver/chain.rb,
lib/coradoc/reference/resolver/caching.rb,
lib/coradoc/reference/resolver/catalog.rb

Overview

Kind-agnostic resolver: given an Edge, ask the catalog, return a Result. Never materializes, never slices, never orders.

resolver = Resolver::Catalog.new(catalog: catalog, ambiguous: :first, missing: :warn)
case resolver.resolve(edge)
in Result::Resolved => r ; use_target(r.target)
in Result::Missing   ; warn("could not resolve #{edge.address}")
end

Defined Under Namespace

Classes: Base, Caching, Catalog, Chain