Module: Dependz::SortLevel
- Included in:
- Client
- Defined in:
- lib/dependz/sort_level.rb
Instance Method Summary collapse
Instance Method Details
#sort_level ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/dependz/sort_level.rb', line 7 def sort_level @level_map = {} roots(dag).each do |root| @level = 0 visitor = dfs_visitor(dag) dag.reverse.depth_first_visit(root, visitor) { |x| } end @level_map.each_with_object([]) do |item_with_level, result| item = item_with_level[0] level = item_with_level[1] - 1 if result[level].nil? result[level] = [item] else result[level].push(item) end end end |