class Depcop::CircularDependency
Public Class Methods
new(nodes, edges)
click to toggle source
# File lib/depcop.rb, line 16 def initialize(nodes, edges) dependencies = Hash[nodes.map { |n| [n.join("::"), []] }] edges.each do |edge| node = edge["from"].join("::") dependency = edge["to"].join("::") dependencies[node] << dependency end @graph = Graph.new(dependencies) end
Public Instance Methods
run()
click to toggle source
# File lib/depcop.rb, line 28 def run circles = @graph.strongly_connected_components.select { |component| component.size > 1 } circles.map { |c| "Circular dependency: " + c.join(" --- ") } end