class Gem::Resolver::Molinillo::DependencyGraph::AddEdgeNoCircular
@!visibility private (see DependencyGraph#add_edge_no_circular)
Attributes
              destination[R]
            
            @return [String] the name of the destination of the edge
              origin[R]
            
            @return [String] the name of the origin of the edge
              requirement[R]
            
            @return [Object] the requirement that the edge represents
Public Class Methods
                              action_name()
                              click to toggle source
                            
                            (see Action.action_name)
# File rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb, line 12 def self.action_name :add_vertex end
                              new(origin, destination, requirement)
                              click to toggle source
                            
                            Initialize an action to add an edge to a dependency graph @param [String] origin the name of the origin of the edge @param [String] destination the name of the destination of the edge @param [Object] requirement the requirement that the edge represents
# File rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb, line 52 def initialize(origin, destination, requirement) @origin = origin @destination = destination @requirement = requirement end
Public Instance Methods
                              down(graph)
                              click to toggle source
                            
                            (see Action#down)
# File rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb, line 25 def down(graph) edge = make_edge(graph) delete_first(edge.origin.outgoing_edges, edge) delete_first(edge.destination.incoming_edges, edge) end
                              make_edge(graph)
                              click to toggle source
                            
                            @param [DependencyGraph] graph the graph to find vertices from @return [Edge] The edge this action adds
# File rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb, line 44 def make_edge(graph) Edge.new(graph.vertex_named(origin), graph.vertex_named(destination), requirement) end
                              up(graph)
                              click to toggle source
                            
                            (see Action#up)
# File rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb, line 17 def up(graph) edge = make_edge(graph) edge.origin.outgoing_edges << edge edge.destination.incoming_edges << edge edge end
Private Instance Methods
                              delete_first(array, item)
                              click to toggle source
                            
                            # File rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb, line 60 def delete_first(array, item) return unless index = array.index(item) array.delete_at(index) end