Sha256: a45775b90c5c740c0f6c826815439d936f8fcb1e7019facda91938654deef96d

Contents?: true

Size: 1.14 KB

Versions: 10

Compression:

Stored size: 1.14 KB

Contents

# frozen_string_literal: true
require 'mustermann'
require 'mustermann/visualizer/highlight'
require 'mustermann/visualizer/tree_renderer'
require 'mustermann/visualizer/pattern_extension'

module Mustermann
  # Namespace for Mustermann visualization logic.
  module Visualizer
    extend self

    # @example creating a highlight object
    #   require 'mustermann/visualizer'
    #
    #   pattern   = Mustermann.new('/:name')
    #   highlight = Mustermann::Visualizer.highlight(pattern)
    #
    #   puts highlight.to_ansi
    #
    # @return [Mustermann::Visualizer::Highlight] highlight object for given pattern
    # @param (see Mustermann::Visualizer::Highlight#initialize)
    def highlight(pattern, **options)
      Highlight.new(pattern, **options)
    end

    # @example creating a tree object
    #   require 'mustermann/visualizer'
    #
    #   pattern = Mustermann.new('/:name')
    #   tree    = Mustermann::Visualizer.tree(pattern)
    #
    #   puts highlight.to_s
    #
    # @return [Mustermann::Visualizer::Tree] tree object for given pattern
    def tree(pattern, **options)
      TreeRenderer.render(pattern, **options)
    end
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
mustermann-contrib-1.1.2 lib/mustermann/visualizer.rb
mustermann-contrib-1.1.1 lib/mustermann/visualizer.rb
mustermann-contrib-1.1.0 lib/mustermann/visualizer.rb
mustermann-contrib-1.0.3 lib/mustermann/visualizer.rb
mustermann-contrib-1.0.2 lib/mustermann/visualizer.rb
mustermann-contrib-1.0.2.rc2 lib/mustermann/visualizer.rb
mustermann-contrib-1.0.2.rc1 lib/mustermann/visualizer.rb
mustermann-1.0.2.rc1 mustermann-contrib/lib/mustermann/visualizer.rb
mustermann-contrib-1.0.1 lib/mustermann/visualizer.rb
mustermann-contrib-1.0.0 lib/mustermann/visualizer.rb