Module SemanticPuppet::Dependency
In: lib/semantic_puppet/dependency.rb
lib/semantic_puppet/dependency/graph_node.rb
lib/semantic_puppet/dependency/source.rb
lib/semantic_puppet/dependency/unsatisfiable_graph.rb
lib/semantic_puppet/dependency/graph.rb
lib/semantic_puppet/dependency/module_release.rb

Methods

Classes and Modules

Module SemanticPuppet::Dependency::GraphNode
Class SemanticPuppet::Dependency::Graph
Class SemanticPuppet::Dependency::ModuleRelease
Class SemanticPuppet::Dependency::Source
Class SemanticPuppet::Dependency::UnsatisfiableGraph

Public Instance methods

Appends a new {Source} to the current list. @param source [Source] the {Source} to add @return [void]

Clears the current list of {Source}s. @return [void]

Fetches all available releases for the given module name.

@param name [String] the module name to find releases for @return [Array<ModuleRelease>] the available releases

Fetches a graph of modules and their dependencies from the currently configured list of {Source}s.

@todo Return a specialized "Graph" object. @todo Allow for external constraints to be added to the graph. @see sources @see add_source @see clear_sources

@param modules [{ String => String }] @return [Graph] the root of a dependency graph

Given a graph result from {query}, this method will resolve the graph of dependencies, if possible, into a flat list of the best suited modules. If the dependency graph does not have a suitable resolution, this method will raise an exception to that effect.

@param graph [Graph] the root of a dependency graph @return [Array<ModuleRelease>] the list of releases to act on

@return [Array<Source>] a frozen copy of the {Source} list

[Validate]