class LegacyFacter::Core::DirectedGraph
Public Instance Methods
Source
# File lib/facter/custom_facts/core/directed_graph.rb, line 11 def acyclic? cycles.empty? end
Source
# File lib/facter/custom_facts/core/directed_graph.rb, line 15 def cycles cycles = [] each_strongly_connected_component do |component| cycles << component if component.size > 1 end cycles end
Source
# File lib/facter/custom_facts/core/directed_graph.rb, line 29 def tsort missing = Set.new(values.flatten) - Set.new(keys) unless missing.empty? raise MissingVertex, "Cannot sort elements; cannot depend on missing elements #{missing.to_a}" end super rescue TSort::Cyclic raise CycleError, "Cannot sort elements; found the following cycles: #{cycles.inspect}" end
Calls superclass method
Source
# File lib/facter/custom_facts/core/directed_graph.rb, line 25 def tsort_each_child(node, &block) fetch(node, []).each(&block) end