@!visibility private @see DependencyGraph#detach_vertex_named
Attributes
Read
@return [String] the name of the vertex to detach
Class Methods
::
lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb
View on GitHub
# File tmp/rubies/ruby-3.0.5/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb, line 12
def self.action_name
:add_vertex
end
(see Action#name)
::
lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb
View on GitHub
# File tmp/rubies/ruby-3.0.5/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb, line 56
def initialize(name)
@name = name
end
Initialize an action to detach a vertex from a dependency graph @param [String] name the name of the vertex to detach
Instance Methods
lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb
View on GitHub
# File tmp/rubies/ruby-3.0.5/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb, line 38
def down(graph)
return unless @vertex
graph.vertices[@vertex.name] = @vertex
@vertex.outgoing_edges.each do |e|
e.destination.incoming_edges << e
end
@vertex.incoming_edges.each do |e|
e.origin.outgoing_edges << e
end
end
(see Action#down
)
lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb
View on GitHub
# File tmp/rubies/ruby-3.0.5/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb, line 17
def up(graph)
return [] unless @vertex = graph.vertices.delete(name)
removed_vertices = [@vertex]
@vertex.outgoing_edges.each do |e|
v = e.destination
v.incoming_edges.delete(e)
if !v.root? && v.incoming_edges.empty?
removed_vertices.concat graph.detach_vertex_named(v.name)
end
end
@vertex.incoming_edges.each do |e|
v = e.origin
v.outgoing_edges.delete(e)
end
removed_vertices
end
(see Action#up
)