10 node_a = self.nodes[a] || Node.new(a)
11 node_b = self.nodes[b] || Node.new(b)
15 self.nodes[a] ||= node_a
16 self.nodes[b] ||= node_b
25 attr_accessor :dependencies
29 self.dependencies = []
33 self.dependencies << node unless self.dependencies.include?(node)
37 (self == node) || self.dependencies.any { |x| x.has_node?(node) }