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:
evazion
2020-01-12 18:35:17 -06:00
parent 40711e1d4f
commit 50c6840be3
5 changed files with 6 additions and 31 deletions

View File

@@ -1,10 +0,0 @@
module PostSets
class SearchError < StandardError
end
class WikiPage < PostSets::Post
def presenter
@presenter ||= ::PostSetPresenters::WikiPage.new(self)
end
end
end

View File

@@ -914,6 +914,10 @@ class Tag < ApplicationRecord
return false
end
def posts
Post.tag_match(name)
end
include ApiMethods
include CountMethods
include CategoryMethods

View File

@@ -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

View File

@@ -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

View File

@@ -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 %>