class Really::DependencyGraph

Public Class Methods

new(node_pool = {}) click to toggle source
# File lib/really/dependency_graph.rb, line 7
def initialize(node_pool = {})
  @node_pool = node_pool
  @nodes = []
end

Public Instance Methods

add(node) click to toggle source
# File lib/really/dependency_graph.rb, line 12
def add(node)
  @nodes << node
end
tsort_each_child(node, &block) click to toggle source
# File lib/really/dependency_graph.rb, line 22
def tsort_each_child(node, &block)
  @node_pool[node.name].dependencies.each do |dependency_name|
    node = @node_pool[dependency_name]
    raise "Dependency '#{dependency_name}' does not exist." if node.nil?
    block.call node
  end
end
tsort_each_node(&block) click to toggle source
# File lib/really/dependency_graph.rb, line 18
def tsort_each_node(&block)
  @nodes.each &block
end