Sha256: 8461f69b279c45dcafff1e07b207939d9fdd1d375bf1a08e4de59689861ff544

Contents?: true

Size: 712 Bytes

Versions: 8

Compression:

Stored size: 712 Bytes

Contents

module Parser
  class Rewriter < Parser::AST::Processor
    def rewrite(source_buffer, ast)
      @source_rewriter = Source::Rewriter.new(source_buffer)

      process(ast)

      @source_rewriter.process
    end

    private

    def assignment?(node)
      [:lvasgn, :ivasgn, :gvasgn,
       :cvasgn, :cvdecl, :cdecl].include?(node.type)
    end

    def remove(range)
      @source_rewriter.remove(range)
    end

    def insert_before(range, content)
      @source_rewriter.insert_before(range, content)
    end

    def insert_after(range, content)
      @source_rewriter.insert_after(range, content)
    end

    def replace(range, content)
      @source_rewriter.replace(range, content)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
parser-1.4.2 lib/parser/rewriter.rb
parser-1.4.1 lib/parser/rewriter.rb
parser-1.4.0 lib/parser/rewriter.rb
parser-1.3.4 lib/parser/rewriter.rb
parser-1.3.3 lib/parser/rewriter.rb
parser-1.3.2 lib/parser/rewriter.rb
parser-1.3.1 lib/parser/rewriter.rb
parser-1.3.0 lib/parser/rewriter.rb