From 9adfd66a8b131e2042cdaeb956e65159ad652b5e Mon Sep 17 00:00:00 2001 From: Roman Rizzi Date: Tue, 7 May 2019 03:36:23 -0300 Subject: [PATCH] Revert "FIX: When mutating a string to build a diff. Duplicate it first (#7482)" (#7484) This reverts commit 20d4093a673f45d7efa7f00dbbe6f563c1ca4598. --- lib/discourse_diff.rb | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/discourse_diff.rb b/lib/discourse_diff.rb index 06272c8d6fe..89d293e4319 100644 --- a/lib/discourse_diff.rb +++ b/lib/discourse_diff.rb @@ -176,25 +176,24 @@ class DiscourseDiff end def add_class_or_wrap_in_tags(html_or_text, klass) - dupped_html_or_text = html_or_text.dup - index_of_next_chevron = dupped_html_or_text.index(">") - if dupped_html_or_text.length > 0 && dupped_html_or_text[0] == '<' && index_of_next_chevron - index_of_class = dupped_html_or_text.index("class=") + index_of_next_chevron = html_or_text.index(">") + if html_or_text.length > 0 && html_or_text[0] == '<' && index_of_next_chevron + index_of_class = html_or_text.index("class=") if index_of_class.nil? || index_of_class > index_of_next_chevron # we do not have a class for the current tag # add it right before the ">" - dupped_html_or_text.insert(index_of_next_chevron, " class=\"diff-#{klass}\"") + html_or_text.insert(index_of_next_chevron, " class=\"diff-#{klass}\"") else # we have a class, insert it at the beginning if not already present - classes = dupped_html_or_text[/class=(["'])([^\1]*)\1/, 2] + classes = html_or_text[/class=(["'])([^\1]*)\1/, 2] if classes.include?("diff-#{klass}") - dupped_html_or_text + html_or_text else - dupped_html_or_text.insert(index_of_class + "class=".length + 1, "diff-#{klass} ") + html_or_text.insert(index_of_class + "class=".length + 1, "diff-#{klass} ") end end else - "<#{klass}>#{dupped_html_or_text}" + "<#{klass}>#{html_or_text}" end end