Sha256: ab77fbe53798dd5e0be124cd4112497639a6be520ed35382fede646234c0a8db

Contents?: true

Size: 685 Bytes

Versions: 16

Compression:

Stored size: 685 Bytes

Contents

module Sablon
  class HTMLConverter
    class Visitor
      def visit(node)
        method_name = "visit_#{node.class.node_name}"
        if respond_to? method_name
          public_send method_name, node
        end
      end
    end

    class GrepVisitor
      attr_reader :result
      def initialize(pattern)
        @pattern = pattern
        @result = []
      end

      def visit(node)
        if @pattern === node
          @result << node
        end
      end
    end

    class LastNewlineRemoverVisitor < Visitor
      def visit_Paragraph(par)
        if HTMLConverter::Newline === par.runs.nodes.last
          par.runs.nodes.pop
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
sablon-0.4.1 lib/sablon/html/visitor.rb
sablon-0.4.0 lib/sablon/html/visitor.rb
sablon-0.3.2 lib/sablon/html/visitor.rb
sablon-0.3.1 lib/sablon/html/visitor.rb
sablon-0.3.0 lib/sablon/html/visitor.rb
sablon-0.2.1 lib/sablon/html/visitor.rb
sablon-0.2.0 lib/sablon/html/visitor.rb
sablon-0.1.1 lib/sablon/html/visitor.rb
sablon-0.1.0 lib/sablon/html/visitor.rb
sablon-0.0.22 lib/sablon/html/visitor.rb
sablon-0.0.21 lib/sablon/html/visitor.rb
sablon-0.0.20 lib/sablon/html/visitor.rb
sablon-0.0.19 lib/sablon/html/visitor.rb
sablon-0.0.19.beta5 lib/sablon/html/visitor.rb
sablon-0.0.19.beta4 lib/sablon/html/visitor.rb
sablon-0.0.19.beta3 lib/sablon/html/visitor.rb