Method: Primer::Forms::BufferRewriter.rewrite
- Defined in:
- app/lib/primer/forms/buffer_rewriter.rb
.rewrite(code) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'app/lib/primer/forms/buffer_rewriter.rb', line 10 def rewrite(code) parser = new(code, "(code)", 0) parser.parse line_offsets = calc_line_offsets(code) code.dup.tap do |result| parser.var_refs.reverse_each do |lineno, stop| line_offset = line_offsets[lineno] stop += line_offset stop -= 1 if stop < code.length start = stop - "@output_buffer".length result[start...stop] = "output_buffer" end end end |