# File lib/kwala/lib/cycle_detector.rb, line 421 def sub_group_clusters(groups) groups.keys.sort.each do |key| if key.include?("/") spname = key.split("/") gname = spname[0..-2].join("/") if groups.key?(gname) groups[gname] << { key => groups[key] } end end end # now condense groups.keys.sort.reverse.each do |key| (groups.keys - [key]).reverse.sort.each do |gkey| subs = groups[gkey].find_all { |v| v.kind_of?(Hash) } if subs sk = (subs.map { |k| k.keys }).flatten if sk.include?(key) groups.delete(key) break end end end end groups end