class DependencyGraph
Attributes
dependency_graph[R]
filename[R]
node_list[R]
node_list_str[R]
Public Class Methods
new(output_filename)
click to toggle source
# File scripts/dependency_functions/dependency_graph.rb, line 34 def initialize(output_filename) if($dep_graph_support == 0) print_abort("No support for ruby-graphviz, please install with gem install ruby-graphviz") end @dependency_graph = GraphViz.new( :G, :type => :digraph ) @node_list = [] @node_list_str = [] @filename = output_filename end
Public Instance Methods
add_dep(base_node, dependency)
click to toggle source
# File scripts/dependency_functions/dependency_graph.rb, line 58 def add_dep(base_node, dependency) node = get_node_by_name(base_node) dep = get_node_by_name(dependency) dependency_graph.add_edges(node, dep) end
add_node(name)
click to toggle source
# File scripts/dependency_functions/dependency_graph.rb, line 53 def add_node(name) @node_list.push(dependency_graph.add_nodes(name)) @node_list_str.push(name) end
draw()
click to toggle source
# File scripts/dependency_functions/dependency_graph.rb, line 65 def draw() dependency_graph.output( :png => "#{filename}.png") end
get_node_by_name(name)
click to toggle source
# File scripts/dependency_functions/dependency_graph.rb, line 44 def get_node_by_name(name) result = node_list_str.index(name) if result == nil return print_abort("ERROR: No node found for package #{name}!") else return node_list[result] end end