class PROIEL::Visualization::Graphviz::TemplateContext

Public Class Methods

new(graph, direction, title = '') click to toggle source
# File lib/proiel/visualization/graphviz.rb, line 79
def initialize(graph, direction, title = '')
  @graph = graph
  @direction = direction
  @title = title
end

Public Instance Methods

generate(template) click to toggle source
# File lib/proiel/visualization/graphviz.rb, line 85
def generate(template)
  template.result(binding)
end

Protected Instance Methods

edge(identifier1, identifier2, label = '', options = {}) click to toggle source

Creates an edge with a label from one identifier to another identifier.

# File lib/proiel/visualization/graphviz.rb, line 99
def edge(identifier1, identifier2, label = '', options = {})
  attrs = join_attributes(options.merge(label: label))

  "#{identifier1} -> #{identifier2} [#{attrs}];"
end
join_attributes(attrs) click to toggle source
# File lib/proiel/visualization/graphviz.rb, line 105
def join_attributes(attrs)
  attrs.map { |a, v| %|#{a}="#{v.to_s.gsub('"', '\\"')}"| }.join(',')
end
node(identifier, label = '', options = {}) click to toggle source

Creates a node with an identifier and a label.

# File lib/proiel/visualization/graphviz.rb, line 92
def node(identifier, label = '', options = {})
  attrs = join_attributes(options.merge(label: label))

  "#{identifier} [#{attrs}];"
end