class Molinillo::Resolver(R, S)
- Molinillo::Resolver(R, S)
- Reference
- Object
Overview
This class encapsulates a dependency resolver. The resolver is responsible for determining which set of dependencies to activate, with feedback from the {#specification_provider}
Defined in:
molinillo/resolution.crmolinillo/resolver.cr
Constructors
-
.new(specification_provider : Molinillo::SpecificationProvider(R, S), resolver_ui : Molinillo::UI)
Initializes a new resolver.
Instance Method Summary
-
#resolve(requested : Array(R), base = DependencyGraph(R, R).new)
Resolves the requested dependencies into a {DependencyGraph}, locking to the base dependency graph (if specified) @param [Array] requested an array of 'requested' dependencies that the {#specification_provider} can understand @param [DependencyGraph,nil] base the base dependency graph to which dependencies should be 'locked'
-
#resolver_ui : UI
@return [UI] the UI module used to communicate back to the user during the resolution process
-
#specification_provider : SpecificationProvider(R, S)
@return [SpecificationProvider] the specification provider used in the resolution process
Constructor Detail
Initializes a new resolver. @param [SpecificationProvider] specification_provider see {#specification_provider} @param [UI] resolver_ui see {#resolver_ui}
Instance Method Detail
Resolves the requested dependencies into a {DependencyGraph}, locking to the base dependency graph (if specified) @param [Array] requested an array of 'requested' dependencies that the {#specification_provider} can understand @param [DependencyGraph,nil] base the base dependency graph to which dependencies should be 'locked'
@return [UI] the UI module used to communicate back to the user during the resolution process
@return [SpecificationProvider] the specification provider used in the resolution process