Molinillo::DependencyGraph(P, R)
Constructors
Instance methods
@param [String] name @param [Object] payload @param [Array<String>] parent_names @param [Object] requirement the requirement that is requiring the child @return [void]
Adds a new {Edge} to the dependency graph @param [Vertex] origin @param [Vertex] destination @param [Object] requirement the requirement that this edge represents @return [Edge] the added edge
Adds a vertex with the given name, or updates the existing one.
@param [String] name
@param [Object] payload
@return [Vertex] the vertex that was added to self
Detaches the {#vertex_named} name {Vertex} from the graph, recursively
removing any non-root vertices that were orphaned in the process
@param [String] name
@return [Array<Vertex>] the vertices which have been detached
Enumerates through the vertices of the graph. @return [Array<Vertex>] The graph's vertices.
Returns an unambiguous and information-rich string representation of this object, typically intended for developers.
This method should usually not be overridden. It delegates to
#inspect(IO) which can be overridden for custom implementations.
Also see #to_s.
Returns the path between two vertices
@raise [ArgumentError] if there is no path between the vertices
@param [Vertex] from
@param [Vertex] to
@return [Array<Vertex>] the shortest path from from to to
Rewinds the graph to the state tagged as tag
@param [Object] tag the tag to rewind to
@return [Void]
@param [String] name @return [Vertex,nil] the root vertex with the given name
Sets the payload of the vertex with the given name @param [String] name the name of the vertex @param [Object] payload the payload @return [Void]
Tags the current state of the dependency as the given tag @param [Object] tag an opaque tag for the current state of the graph @return [Void]
@param [String] name @return [Vertex,nil] the vertex with the given name
@param [String] name @return [Vertex,nil] the vertex with the given name
Nested types
- Molinillo::DependencyGraph::Action(P, R)
- Molinillo::DependencyGraph::AddEdgeNoCircular(P, R)
- Molinillo::DependencyGraph::AddVertex(P, R)
- Molinillo::DependencyGraph::DeleteEdge(P, R)
- Molinillo::DependencyGraph::DetachVertexNamed(P, R)
- Molinillo::DependencyGraph::Edge(P, R)
- Molinillo::DependencyGraph::Log(P, R)
- Molinillo::DependencyGraph::SetPayload(P, R)
- Molinillo::DependencyGraph::Tag(P, R)
- Molinillo::DependencyGraph::Vertex(P, R)