Module: Rabbit::Parser::Ext::AAFigure

Includes:
GetText
Defined in:
lib/rabbit/parser/ext/aafigure.rb

Constant Summary collapse

AVAILABLE_OPTIONS =
["linewidth", "foreground", "fill", "background",
"option"]

Constants included from GetText

GetText::DOMAIN

Class Method Summary collapse

Methods included from GetText

included

Class Method Details

.make_image(path, prop, logger) ⇒ Object


10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/rabbit/parser/ext/aafigure.rb', line 10

def make_image(path, prop, logger)
  image_file = Tempfile.new("rabbit-image-aafigure")
  command = [
    "aafigure",
    "--type", "svg",
    "--encoding", "utf-8",
    "--output", image_file.path,
  ]
  aafigure_options = []
  AVAILABLE_OPTIONS.each do |name|
    command.concat(["--#{name}", prop[name]]) if prop.has_key?(name)
  end
  command << path
  if SystemRunner.run(*command)
    image_file
  else
    format = _("tried aafigure command: %s")
    additional_info = format % command.inspect
    raise AAFigureCanNotHandleError.new(command.join(' '),
                                        additional_info)
  end
end