Method: Plexus::AdjacencyGraphBuilder#edges

Defined in:
lib/plexus/adjacency_graph.rb

#edgesArray

Returns an array of edges, most likely of class Plexus::Arc or Edge depending upon the type of graph.

Returns:

  • (Array)


190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
# File 'lib/plexus/adjacency_graph.rb', line 190

def edges
  @vertex_dict.keys.inject(Set.new) do |a,v|
    if @parallel_edges and @edge_number[v]
      @vertex_dict[v].zip(@edge_number[v]).each do |w|
        s, t, n = v, w[0], w[1]
        a.add(edge_class[s, t, n, edge_label(s, t, n)])
      end
    else
      @vertex_dict[v].each do |w|
        a.add(edge_class[v, w, edge_label(v, w)])
      end
    end
    a
  end.to_a
end