lib/liquid_diagrams/renderers/vega_renderer.rb in liquid-diagrams-0.3.0 vs lib/liquid_diagrams/renderers/vega_renderer.rb in liquid-diagrams-0.4.0

- old
+ new

@@ -1,33 +1,19 @@ # frozen_string_literal: true module LiquidDiagrams module Renderers - %i[Vega Vegalite].each do |diagram| - renderer = Class.new(BasicRenderer) do - const_set :OPTIONS, %w[ - scale - ].freeze + class VegaRenderer < BasicRenderer + OPTIONS = %w[ + scale + ].freeze - define_method :render do - if diagram.downcase == 'vegalite' - @content = Rendering.render_with_stdin_stdout('vl2vg', @content) - end - - Rendering.render_with_stdin_stdout(build_command, @content) - end - - def build_command - command = +'vg2svg' - - @config.slice(*self.class.const_get(:OPTIONS)).each do |opt, value| - command << " --#{opt} #{value}" - end - - command - end + def render + Rendering.render_with_stdin_stdout(build_command, @content) end - const_set("#{diagram}Renderer", renderer) + def executable + 'vg2svg' + end end end end