From 8ddf7ee716244d78f80fe100460ee33ec59490a2 Mon Sep 17 00:00:00 2001 From: evazion Date: Sun, 12 Jan 2020 19:04:53 -0600 Subject: [PATCH] wiki pages: drop unused wiki page presenter. --- app/models/wiki_page.rb | 4 -- app/presenters/wiki_page_presenter.rb | 58 --------------------------- 2 files changed, 62 deletions(-) delete mode 100644 app/presenters/wiki_page_presenter.rb diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index 50395c346..ff267afce 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -237,10 +237,6 @@ class WikiPage < ApplicationRecord self.dtext_links = DtextLink.new_from_dtext(body) end - def presenter - @presenter ||= WikiPagePresenter.new(self) - end - def tags titles = DText.parse_wiki_titles(body).uniq tags = Tag.nonempty.where(name: titles).pluck(:name) diff --git a/app/presenters/wiki_page_presenter.rb b/app/presenters/wiki_page_presenter.rb deleted file mode 100644 index 66ef33c83..000000000 --- a/app/presenters/wiki_page_presenter.rb +++ /dev/null @@ -1,58 +0,0 @@ -class WikiPagePresenter - attr_reader :wiki_page - - def initialize(wiki_page) - @wiki_page = wiki_page - end - - # Produce a formatted page that shows the difference between two versions of a page. - def diff(other_version) - pattern = Regexp.new('(?:<.+?>)|(?:[0-9_A-Za-z\x80-\xff]+[\x09\x20]?)|(?:[ \t]+)|(?:\r?\n)|(?:.+?)') - - thisarr = self.body.scan(pattern) - otharr = other_version.body.scan(pattern) - - cbo = Diff::LCS::ContextDiffCallbacks.new - diffs = thisarr.diff(otharr, cbo) - - escape_html = ->(str) {str.gsub(/&/, '&').gsub(//, '>')} - - output = thisarr - output.each { |q| q.replace(CGI.escape_html(q)) } - - diffs.reverse_each do |hunk| - newchange = hunk.max {|a, b| a.old_position <=> b.old_position} - newstart = newchange.old_position - oldstart = hunk.min {|a, b| a.old_position <=> b.old_position}.old_position - - if newchange.action == '+' - output.insert(newstart, "") - end - - hunk.reverse_each do |chg| - case chg.action - when '-' - oldstart = chg.old_position - output[chg.old_position] = "" if chg.old_element.match(/^\r?\n$/) - when '+' - if chg.new_element.match(/^\r?\n$/) - output.insert(chg.old_position, "[nl]") - else - output.insert(chg.old_position, (escape_html[chg.new_element]).to_s) - end - end - end - - if newchange.action == '+' - output.insert(newstart, "") - end - - if hunk[0].action == '-' - output.insert((newstart == oldstart || newchange.action != '+') ? newstart + 1 : newstart, "") - output.insert(oldstart, "") - end - end - - output.join.gsub(/\r?\n/, "[nl]") - end -end