Class: ScbiGo::BaseGraph
- Inherits:
-
Object
- Object
- ScbiGo::BaseGraph
- Defined in:
- lib/scbi_go/base_graph.rb
Direct Known Subclasses
Instance Method Summary collapse
-
#build_dot_lines(nodes) ⇒ Object
define the way that nodes are painted in dot.
-
#initialize(nodes, file_name = nil, name = 'my_graph', generate_pdf = false) ⇒ BaseGraph
constructor
create a dot file and optional pdf file.
Constructor Details
#initialize(nodes, file_name = nil, name = 'my_graph', generate_pdf = false) ⇒ BaseGraph
create a dot file and optional pdf file
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/scbi_go/base_graph.rb', line 5 def initialize(nodes, file_name=nil, name='my_graph', generate_pdf=false) @graph_name=name if !nodes.empty? res =[] res += build_dot_lines(nodes) if !file_name.nil? f=File.new(file_name,'w') f.puts res f.close if generate_pdf system("dot -Tpdf #{file_name} -o #{file_name}.pdf") end end end end |
Instance Method Details
#build_dot_lines(nodes) ⇒ Object
define the way that nodes are painted in dot
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/scbi_go/base_graph.rb', line 25 def build_dot_lines(nodes) res =[] res << "graph #{@graph_name} {" nodes.each do |node| res << "#{node.id.gsub(':','_')}[label=\"#{node.id}\n#{node.name}\"];" end res << "}" return res end |