class TermSlides::Diagram

Attributes

dot[R]
height[R]
width[R]

Public Class Methods

new(renderer, dot, width = nil, height = nil) click to toggle source
# File lib/term-slides.rb, line 136
def initialize renderer, dot, width = nil, height = nil
  @renderer = renderer
  @dot = dot
  @width = width
  @height = height
end

Public Instance Methods

build() click to toggle source
# File lib/term-slides.rb, line 142
def build
  $i ||= 0
  path = "term_slide_graph#{$i}.png"
  dot = 'dot'
  if find_executable dot
    dot_contents = @dot.respond_to?(:call) ? @dot.call : @dot
    input_path = "/tmp/graphviz-term-slides"
    File.write(input_path, dot_contents)
    `#{dot} #{input_path} -Tpng > #{path}`
    $i += 1
  end
  path
end
render() click to toggle source
# File lib/term-slides.rb, line 155
def render
  @renderer.render_diagram self
end