class NRSER::Graph::TSorter

Topologically sorts an {Enumerable} by a user-provided `child_node` block.

Public Class Methods

new(entries, &each_child) click to toggle source
# File lib/nrser/graph/tsorter.rb, line 29
def initialize entries, &each_child
  @entries = entries
  @each_child = each_child
end

Public Instance Methods

tsort_each_child(node, &block) click to toggle source
# File lib/nrser/graph/tsorter.rb, line 38
def tsort_each_child node, &block
  @each_child.call node, &block
end
tsort_each_node(&block) click to toggle source
# File lib/nrser/graph/tsorter.rb, line 34
def tsort_each_node &block
  @entries.each &block
end