post histories finished

This commit is contained in:
albert
2010-11-06 12:16:24 -04:00
parent f3b4312ef3
commit 190beedb7a
13 changed files with 125 additions and 31 deletions

View File

@@ -1,19 +0,0 @@
class PostHistoryPresenter < Presenter
attr_reader :revision
def initialize(revision)
@revision = revision
end
def changes
end
def updated_at
revision["updated_at"]
end
def updater_name
User.id_to_name(revision["user_id"].to_i)
end
end

View File

@@ -0,0 +1,25 @@
class PostHistoryRevisionPresenter < Presenter
attr_reader :revision
def initialize(revision)
@revision = revision
end
def changes
html = []
html << revision.diff[:del].map {|x| "<del>#{h(x)}</del>"}
html << revision.diff[:add].map {|x| "<ins>#{h(x)}</ins>"}
html << "<ins>source:#{h(revision.diff[:source])}</ins>" if revision.diff[:source].present?
html << "<ins>rating:#{h(revision.diff[:rating])}</ins>" if revision.diff[:rating].present?
html << "<ins>parent:#{revision.diff[:parent_id]}</ins>" if revision.diff[:parent_id].present?
html.join(" ").html_safe
end
def updated_at
Time.parse(revision.updated_at)
end
def updater_name
User.id_to_name(revision.user_id)
end
end

View File

@@ -10,6 +10,7 @@ class PostPresenter < Presenter
html << %{<img src="#{post.preview_file_url}">}
html << %{</a>}
html << %{</article>}
html.html_safe
end
def initialize(post)

View File

@@ -1,4 +1,12 @@
class Presenter
def self.h(s)
CGI.escapeHTML(s)
end
def self.u(s)
URI.escape(s)
end
def h(s)
CGI.escapeHTML(s)
end