wiki_pages/show: refactor post previews.
* Increase number of previews from 4 to 8. * Eliminate wiki page post set classes.
This commit is contained in:
@@ -1,10 +0,0 @@
|
||||
module PostSets
|
||||
class SearchError < StandardError
|
||||
end
|
||||
|
||||
class WikiPage < PostSets::Post
|
||||
def presenter
|
||||
@presenter ||= ::PostSetPresenters::WikiPage.new(self)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -914,6 +914,10 @@ class Tag < ApplicationRecord
|
||||
return false
|
||||
end
|
||||
|
||||
def posts
|
||||
Post.tag_match(name)
|
||||
end
|
||||
|
||||
include ApiMethods
|
||||
include CountMethods
|
||||
include CategoryMethods
|
||||
|
||||
@@ -237,10 +237,6 @@ class WikiPage < ApplicationRecord
|
||||
self.dtext_links = DtextLink.new_from_dtext(body)
|
||||
end
|
||||
|
||||
def post_set
|
||||
@post_set ||= PostSets::WikiPage.new(title, 1, 4)
|
||||
end
|
||||
|
||||
def presenter
|
||||
@presenter ||= WikiPagePresenter.new(self)
|
||||
end
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
module PostSetPresenters
|
||||
class WikiPage < PostSetPresenters::Post
|
||||
def posts
|
||||
@post_set.posts
|
||||
end
|
||||
|
||||
def post_previews_html(template)
|
||||
result = super(template)
|
||||
if result =~ /Nobody here but us chickens/
|
||||
result = ""
|
||||
end
|
||||
result.html_safe
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,7 +1,7 @@
|
||||
<% if wiki_page.tag.present? && wiki_page.tag.post_count > 0 %>
|
||||
<div id="wiki-page-posts">
|
||||
<h2>Posts (<%= link_to "view all", posts_path(tags: wiki_page.title) %>)</h2>
|
||||
<h2>Recent Posts <%= link_to "»", posts_path(tags: wiki_page.title) %></h2>
|
||||
|
||||
<%= wiki_page.post_set.presenter.post_previews_html(self) %>
|
||||
<%= post_previews_html(wiki_page.tag.posts.limit(8), tags: wiki_page.title) %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
Reference in New Issue
Block a user