class ScbiGo::BaseGraph

Public Class Methods

new(nodes, file_name=nil, name='my_graph', generate_pdf=false) click to toggle source

create a dot file and optional pdf file

# 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

Public Instance Methods

build_dot_lines(nodes) click to toggle source

define the way that nodes are painted in dot

# 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