class JavaClass::Dependencies::Graph
A graph contains a list of Node
- Author
-
Peter Kofler
Public Class Methods
new()
click to toggle source
# File lib/javaclass/dependencies/graph.rb, line 13 def initialize @nodes = [] end
Public Instance Methods
add(node)
click to toggle source
Add a node to this graph.
# File lib/javaclass/dependencies/graph.rb, line 18 def add(node) @nodes << node end
each_node(&block)
click to toggle source
nodes_satisfying(dependency)
click to toggle source
Find the nodes that satisfy the given dependency
# File lib/javaclass/dependencies/graph.rb, line 41 def nodes_satisfying(dependency) @nodes.find_all { |n| n.satisfies?(dependency) } end
resolve_dependencies()
click to toggle source
Iterates all nodes and fills the dependency fields of the Node
.
# File lib/javaclass/dependencies/graph.rb, line 27 def resolve_dependencies @nodes.each do |node| puts "processing #{node}" node.outgoing_dependencies do |dependency| providers = nodes_satisfying(dependency.target) node.add_dependency(dependency, providers) end node.dependencies.values.each { |vals| vals.sort! } end end
to_a()
click to toggle source
# File lib/javaclass/dependencies/graph.rb, line 22 def to_a @nodes.dup end