Module: ArchUnit::Extraction::LoadPaths

Defined in:
lib/archunit/extraction/resolve_load_paths.rb

Overview

Builds the deterministic feature search path used for static Ruby import resolution.

Class Method Summary collapse

Class Method Details

.resolve(project_root, explicit_paths: [], source_files: nil) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/archunit/extraction/resolve_load_paths.rb', line 13

def resolve(project_root, explicit_paths: [], source_files: nil)
  root = canonical_root(project_root)
  defaults = [root.join('lib'), root].select(&:directory?)
  explicit = resolve_explicit_paths(root, explicit_paths)
  discovered = GemspecLoadPaths.resolve(root, source_files:)

  deduplicate(defaults + explicit + discovered)
end