класс Bundler::Molinillo::DependencyGraph::AddEdgeNoCircular
@!visibility private (см. DependencyGraph#add_edge_no_circular)
Атрибуты
destination[R]
@return [String] имя пункта назначения ребра
origin[R]
@return [String] имя начала ребра
requirement[R]
@return [Object] требование, которое представляет ребро
Открытые методы класса
# File lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb, line 12 def self.action_name :add_vertex end
(см. Action.action_name)
# File lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb, line 52 def initialize(origin, destination, requirement) @origin = origin @destination = destination @requirement = requirement end
Инициализировать действие для добавления ребра в граф зависимостей @param [String] origin имя начала ребра @param [String] destination имя пункта назначения ребра @param [Object] requirement требование, которое представляет ребро
Открытые методы экземпляра
# File lib/bundler/vendor/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
(см. Action#down)
# File lib/bundler/vendor/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
@param [DependencyGraph] graph граф для поиска вершин @return [Edge] Ребро, добавленное этим действием
# File lib/bundler/vendor/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
(см. Action#up)
Приватные методы экземпляра
# File lib/bundler/vendor/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
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.