class Mementus::Pipes::IncomingEdges

Public Instance Methods

process(graph, source) click to toggle source
# File lib/mementus/pipes/incoming_edges.rb, line 4
def process(graph, source)
  ids = source.respond_to?(:id) ? [source.id] : source.map(&:id)
  incoming = []

  graph.each_node do |graph_node|
    graph.each_adjacent(graph_node.id) do |adj_node|
      incoming << Mementus::Edge.new(from: graph_node, to: adj_node) if ids.include?(adj_node.id)
    end
  end

  incoming
end