Module: Tangle::Mixin::Ancestry::Graph

Includes:
Connectedness::Graph
Defined in:
lib/tangle/mixin/ancestry.rb

Overview

Mixins for adding ancestry relations to a digraph

Instance Method Summary collapse

Methods included from Connectedness::Graph

#connected?, #connected_subgraph, #disconnected?, #disconnected_subgraph

Instance Method Details

#ancestor_subgraph(vertex, &selector) ⇒ Object



15
16
17
18
# File 'lib/tangle/mixin/ancestry.rb', line 15

def ancestor_subgraph(vertex, &selector)
  vertex = get_vertex(vertex) unless vertex.is_a? Vertex
  clone.with_vertices(vertex.ancestors(&selector)).with_edges(edges)
end

#descendant_subgraph(vertex, &selector) ⇒ Object



20
21
22
23
# File 'lib/tangle/mixin/ancestry.rb', line 20

def descendant_subgraph(vertex, &selector)
  vertex = get_vertex(vertex) unless vertex.is_a? Vertex
  clone.with_vertices(vertex.descendants(&selector)).with_edges(edges)
end