class Twb::Util::GML
Attributes
edges[RW]
fileName[RW]
gmlHeader[RW]
nodes[RW]
Public Class Methods
new()
click to toggle source
# File lib/twb/util/gml.rb, line 42 def initialize # @docFile = File.open(@@docfileName,'w') # @docFile.puts "Starting up the GML process" @gmlHeader = @@gmlHeader @fileName = 'gmlFile' # will be reset in def render when file is generated @nodes = SortedSet.new @edges = SortedSet.new end
Public Instance Methods
prepare()
click to toggle source
def init fileName
# do stuff for new GML file here @fileName = fileName prepare
end
# File lib/twb/util/gml.rb, line 61 def prepare @nodes = SortedSet.new @edges = SortedSet.new end
render()
click to toggle source
# File lib/twb/util/gml.rb, line 66 def render # puts "GML.render - rendering into #{@fileName}" @fileName = "#{@fileName}.gml" file = File.open(docFile(@fileName),'w') file.puts @gmlHeader renderNodes file renderEdges file file.puts @@gmlFooter file.close return file end
renderEdges(file)
click to toggle source
# File lib/twb/util/gml.rb, line 96 def renderEdges file edges = Set.new @edges.each do |edge| gmlSourceID = Digest::MD5.hexdigest(edge.from.id) gmlTargetID = Digest::MD5.hexdigest(edge.to.id) edges << "edge [\n source \"#{gmlSourceID}\" \n target \"#{gmlTargetID}\" \n ]" end edges.each do |edge| file.puts edge end end
renderNodes(file)
click to toggle source
# File lib/twb/util/gml.rb, line 78 def renderNodes file nodes = Set.new # puts 'def renderNodes' @nodes.each do |node| gmlID = Digest::MD5.hexdigest(node.id) gmlName = node.name.gsub('&','&').gsub('"','"') nodestr = "node [\n id \"#{gmlID}\" \n label \"#{gmlName}\" " unless node.colour.nil? nodestr += "\n graphics \n [ \n fill \"#{node.colour}\" \n ] " end nodestr += "\n ]" nodes << nodestr end nodes.each do |node| file.puts node end end
to_s()
click to toggle source
# File lib/twb/util/gml.rb, line 108 def to_s "file:#{@fileName}; #nodes:#{@nodes.length}; #edges:#{@edges.length}" end