Class: Librarian::Resolver

Inherits:
Object
  • Object
show all
Defined in:
lib/librarian/resolver.rb,
lib/librarian/resolver/implementation.rb

Defined Under Namespace

Classes: Implementation

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(environment) ⇒ Resolver

Returns a new instance of Resolver.



11
12
13
# File 'lib/librarian/resolver.rb', line 11

def initialize(environment)
  self.environment = environment
end

Instance Attribute Details

#environmentObject

Returns the value of attribute environment.



8
9
10
# File 'lib/librarian/resolver.rb', line 8

def environment
  @environment
end

Instance Method Details

#resolve(spec, partial_manifests = []) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/librarian/resolver.rb', line 15

def resolve(spec, partial_manifests = [])
  manifests = implementation(spec).resolve(partial_manifests)
  if manifests
    enforce_consistency!(spec.dependencies, manifests)
    manifests = sort(manifests)
    Resolution.new(spec.dependencies, manifests)
  end
end