class Mustermann::Visualizer::Renderer::Generic

Logic shared by most renderers.

Public Class Methods

new(target, inspect: nil, add_qoutes: true) click to toggle source

@!visibility private

# File lib/mustermann/visualizer/renderer/generic.rb, line 9
def initialize(target, inspect: nil, add_qoutes: true)
  @target     = target
  @inspect    = inspect
  @add_qoutes = !target.pattern.is_a?(Mustermann::Composite)
end

Public Instance Methods

escape(value, inspect_value = value.to_s.inspect[1..-2]) click to toggle source

@!visibility private

# File lib/mustermann/visualizer/renderer/generic.rb, line 26
def escape(value, inspect_value = value.to_s.inspect[1..-2])
  escape_string(@inspect ? inspect_value : value.to_s)
end
escape_string(string) click to toggle source

@!visibility private

# File lib/mustermann/visualizer/renderer/generic.rb, line 31
def escape_string(string)
  string
end
post(type) click to toggle source

@!visibility private

# File lib/mustermann/visualizer/renderer/generic.rb, line 41
def post(type)
  ""
end
pre(type) click to toggle source

@!visibility private

# File lib/mustermann/visualizer/renderer/generic.rb, line 36
def pre(type)
  ""
end
preamble() click to toggle source

@!visibility private

# File lib/mustermann/visualizer/renderer/generic.rb, line 22
def preamble
end
render() click to toggle source

@!visibility private

# File lib/mustermann/visualizer/renderer/generic.rb, line 16
def render
  quote =  "#{pre(:quote)}#{escape_string(?")}#{post(:quote)}" if @inspect and @add_qoutes
  pre(:pattern).to_s + preamble.to_s + quote.to_s + @target.render(self) + quote.to_s + post(:pattern).to_s
end