Spec-Zone.ru › Ruby 2.7

класс Bundler::Molinillo::DependencyGraph::AddEdgeNoCircular

Родитель:
Bundler::Molinillo::DependencyGraph::Action

@!visibility private (см. DependencyGraph#add_edge_no_circular)

Атрибуты

destination[R]

@return [String] имя пункта назначения ребра

origin[R]

@return [String] имя начала ребра

requirement[R]

@return [Object] требование, которое представляет ребро

Открытые методы класса

action_name() Показать исходный код
# 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)

new(origin, destination, requirement) Показать исходный код
# 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 требование, которое представляет ребро

Открытые методы экземпляра

down(graph) Показать исходный код
# 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)

make_edge(graph) Показать исходный код
# 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] Ребро, добавленное этим действием

up(graph) Показать исходный код
# 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)

Приватные методы экземпляра

delete_first(array, item) Показать исходный код
# 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API