Refactor post preview attributes into one method

This commit is contained in:
Toks
2013-07-11 16:52:42 -04:00
parent 161c7cb4f5
commit ebcc465216
3 changed files with 20 additions and 3 deletions

View File

@@ -14,7 +14,7 @@ class PostPresenter < Presenter
path = options[:path_prefix] || "/posts"
html = %{<article class="#{preview_class(post)}" id="post_#{post.id}" data-id="#{post.id}" data-tags="#{h(post.tag_string)}" data-uploader="#{h(post.uploader_name)}" data-rating="#{post.rating}" data-width="#{post.image_width}" data-height="#{post.image_height}" data-flags="#{post.status_flags}" data-parent-id="#{post.parent_id}" data-has-children="#{post.has_children?}" data-score="#{post.score}" data-fav-count="#{post.fav_count}">}
html = %{<article class="#{preview_class(post)}" #{preview_attributes(post)}>}
if options[:tags].present?
tag_param = "?tags=#{CGI::escape(options[:tags])}"
elsif options[:pool_id]
@@ -39,6 +39,23 @@ class PostPresenter < Presenter
klass
end
def self.preview_attributes(post)
%{
id="post_#{post.id}"
data-id="#{post.id}"
data-tags="#{h(post.tag_string)}"
data-uploader="#{h(post.uploader_name)}"
data-rating="#{post.rating}"
data-width="#{post.image_width}"
data-height="#{post.image_height}"
data-flags="#{post.status_flags}"
data-parent-id="#{post.parent_id}"
data-has-children="#{post.has_children?}"
data-score="#{post.score}"
data-fav-count="#{post.fav_count}"
}.html_safe
end
def initialize(post)
@post = post
end