module Algorithmable::Cups::CircularDependencies
Public Instance Methods
dfs(item, dependencies, visited) { |item, dep| ... }
click to toggle source
# File lib/algorithmable/cups/circular_dependencies.rb, line 12 def dfs(item, dependencies, visited, &block) next_items = dependencies[item] return [] unless next_items visited << item next_items.each do |dep| if visited.include? dep yield item, dep if block_given? next end dfs(dep, dependencies, visited, &block) end end
lib_dependencies(item, dependencies)
click to toggle source
# File lib/algorithmable/cups/circular_dependencies.rb, line 4 def lib_dependencies(item, dependencies) visited = [] dfs(item, dependencies, visited) do |entry, dep| puts "circular dependency: #{entry} <=> #{dep}" end visited end