Sha256: 6dc35de28bda96aeb726c5a58da5302cb35cee9cb4039862814410ee48fa055e

Contents?: true

Size: 764 Bytes

Versions: 1

Compression:

Stored size: 764 Bytes

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 :FLAGS, %w[
          antialias
        ].freeze

        const_set :OPTIONS, %w[
          config
          font
          fontmap
          size
        ].freeze

        const_set :OPTIONS_SEPARATOR, '='

        def render
          Rendering.render_with_tempfile(build_command, @content) do |input, output|
            "#{input} -o #{output}"
          end
        end

        define_method :executable do
          "#{diagram.downcase} -Tsvg --nodoctype"
        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.4.0 lib/liquid_diagrams/renderers/blockdiag_renderer.rb