class Depdump::DependencyGraph
Attributes
edges[R]
nodes[R]
Public Class Methods
new(tree)
click to toggle source
# File lib/depdump/dependency_graph.rb, line 7 def initialize(tree) @nodes = Set.new @edges = Set.new build(tree) end
Public Instance Methods
build(tree)
click to toggle source
# File lib/depdump/dependency_graph.rb, line 13 def build(tree) tree.each_node do |node| next if node == tree.root @nodes << node node.relations.each do |r| referenced_namespaces = r.resolve(tree) if referenced_namespaces @edges << { from: node.namespaces, to: referenced_namespaces } else # TODO: Show file path and line no. warn "[skip] cannot resolve: #{node.namespaces} => #{r.reference}" end end end end
format()
click to toggle source
# File lib/depdump/dependency_graph.rb, line 30 def format Depdump.config.formatter.call(nodes, edges) end