class Bundler::Molinillo::DependencyGraph::DetachVertexNamed
@!visibility private @see Bundler::Molinillo::DependencyGraph#detach_vertex_named
Attributes
name[R]
@return [String] the name of the vertex to detach
Public Class Methods
name()
click to toggle source
(see Action#name)
# File lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb, line 10 def self.name :add_vertex end
new(name)
click to toggle source
Initialize an action to detach a vertex from a dependency graph @param [String] name the name of the vertex to detach
# File lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb, line 47 def initialize(name) @name = name end
Public Instance Methods
down(graph)
click to toggle source
(see Bundler::Molinillo::DependencyGraph::Action#down)
# File lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb, line 29 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
up(graph)
click to toggle source
(see Bundler::Molinillo::DependencyGraph::Action#up)
# File lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb, line 15 def up(graph) return unless @vertex = graph.vertices.delete(name) @vertex.outgoing_edges.each do |e| v = e.destination v.incoming_edges.delete(e) graph.detach_vertex_named(v.name) unless v.root? || v.predecessors.any? end @vertex.incoming_edges.each do |e| v = e.origin v.outgoing_edges.delete(e) end end