Sha256: 5399a70ca9fdcc5548f158be549d5331072c89729aff7666eb36e68e45ffb4a1
Contents?: true
Size: 1.12 KB
Versions: 1
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: true module LiquidDiagrams module Renderers %i[ Blockdiag Seqdiag Actdiag Nwdiag Rackdiag Packetdiag ].each do |diagram| renderer = Class.new(BasicRenderer) do const_set :OPTIONS, %w[ config font fontmap size ].freeze const_set :SWITCHES, { 'antialias' => false }.freeze def render Rendering.render_with_tempfile(build_command, @content) do |input, output| "#{input} -o #{output}" end end define_method :build_command do command = +"#{diagram.downcase} -T svg --nodoctype" options = self.class.const_get(:OPTIONS) switches = self.class.const_get(:SWITCHES) @config.slice(*options).each do |opt, value| command << " --#{opt}=#{value}" end Utils.merge(switches, @config).each do |swc, value| command << " --#{swc}" if value end command end end const_set "#{diagram}Renderer", renderer end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
liquid-diagrams-0.1.0 | lib/liquid_diagrams/renderers/blockdiag_renderer.rb |