class Tumugi::DAG
Attributes
tasks[R]
Public Class Methods
new()
click to toggle source
# File lib/tumugi/dag.rb, line 11 def initialize @tasks = {} end
Public Instance Methods
add_task(task)
click to toggle source
# File lib/tumugi/dag.rb, line 23 def add_task(task) t = task.instance unless @tasks[t] reqs = list(t._requires).map {|r| r.instance } @tasks[t] = reqs reqs.each do |r| add_task(r) end end task end
tsort_each_child(node, &block)
click to toggle source
# File lib/tumugi/dag.rb, line 19 def tsort_each_child(node, &block) @tasks.fetch(node).each(&block) end
tsort_each_node(&block)
click to toggle source
# File lib/tumugi/dag.rb, line 15 def tsort_each_node(&block) @tasks.each_key(&block) end