class Gem::Molinillo::DependencyGraph::DeleteEdge

@!visibility private (see DependencyGraph#delete_edge)

Attributes

destination_name[R]

@return [String] the name of the destination of the edge

origin_name[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/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb, line 12
def self.action_name
  :delete_edge
end
new(origin_name, destination_name, requirement) click to toggle source

Initialize an action to add an edge to a dependency graph @param [String] origin_name the name of the origin of the edge @param [String] destination_name the name of the destination of the edge @param [Object] requirement the requirement that the edge represents

# File rubygems/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb, line 56
def initialize(origin_name, destination_name, requirement)
  @origin_name = origin_name
  @destination_name = destination_name
  @requirement = requirement
end

Public Instance Methods

down(graph) click to toggle source

(see Action#down)

# File rubygems/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb, line 24
def down(graph)
  edge = make_edge(graph)
  edge.origin.outgoing_edges << edge
  edge.destination.incoming_edges << edge
  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/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb, line 44
def make_edge(graph)
  Edge.new(
    graph.vertex_named(origin_name),
    graph.vertex_named(destination_name),
    requirement
  )
end
up(graph) click to toggle source

(see Action#up)

# File rubygems/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb, line 17
def up(graph)
  edge = make_edge(graph)
  edge.origin.outgoing_edges.delete(edge)
  edge.destination.incoming_edges.delete(edge)
end