Sha256: 948cfc9424237d48b3dbffe9768027a622e9b8dc75d011d616205f0d53baf1ea

Contents?: true

Size: 875 Bytes

Versions: 2

Compression:

Stored size: 875 Bytes

Contents

require 'mustermann/visualizer/renderer/generic'

module Mustermann
  module Visualizer
    # @!visibility private
    module Renderer
      # Generates a s-expression like string.
      # @!visibility private
      class Sexp < Generic
        # @!visibility private
        def render
          @inspect = false
          super.gsub(/ ?\)( \))*/) { |s| s.gsub(' ', '') }.strip
        end


        # @!visibility private
        def pre(type)
          "(#{type} " if type != :pattern
        end

        # @!visibility private
        def escape_string(input)
          inspect = input.inspect
          input   = inspect if inspect != "\"#{input}\""
          input   = inspect if input =~ /[\s\"\'\(\)]/
          input + " "
        end

        # @!visibility private
        def post(type)
          ") " if type != :pattern
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
mustermann-contrib-1.0.0.beta2 lib/mustermann/visualizer/renderer/sexp.rb
mustermann-visualizer-0.4.0 lib/mustermann/visualizer/renderer/sexp.rb