From aac315e0b241aca825c7f76d0274dc3fd44b7e8f Mon Sep 17 00:00:00 2001 From: albert Date: Fri, 6 Jan 2012 18:47:37 -0500 Subject: [PATCH] limit wiki pages to 8 posts --- app/logical/post_sets/wiki_page.rb | 10 ++++++++++ app/models/wiki_page.rb | 2 +- app/presenters/post_set_presenters/wiki_page.rb | 10 ++++++++++ lib/danbooru/paginator/active_record_extension.rb | 3 ++- 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 app/logical/post_sets/wiki_page.rb create mode 100644 app/presenters/post_set_presenters/wiki_page.rb diff --git a/app/logical/post_sets/wiki_page.rb b/app/logical/post_sets/wiki_page.rb new file mode 100644 index 000000000..81ac2bd81 --- /dev/null +++ b/app/logical/post_sets/wiki_page.rb @@ -0,0 +1,10 @@ +module PostSets + class SearchError < Exception + end + + class WikiPage < Post + def presenter + @presenter ||= ::PostSetPresenters::WikiPage.new(self) + end + end +end diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index 3e21eff79..f05635f03 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -82,7 +82,7 @@ class WikiPage < ActiveRecord::Base end def post_set - @post_set ||= PostSets::Post.new(title) + @post_set ||= PostSets::WikiPage.new(title) end def presenter diff --git a/app/presenters/post_set_presenters/wiki_page.rb b/app/presenters/post_set_presenters/wiki_page.rb new file mode 100644 index 000000000..5100bf94c --- /dev/null +++ b/app/presenters/post_set_presenters/wiki_page.rb @@ -0,0 +1,10 @@ +module PostSetPresenters + class WikiPage < Post + def posts + Thread.current["records_per_page"] = 8 + @post_set.posts + ensure + Thread.current["records_per_page"] = nil + end + end +end diff --git a/lib/danbooru/paginator/active_record_extension.rb b/lib/danbooru/paginator/active_record_extension.rb index 820c67f97..327ef118d 100644 --- a/lib/danbooru/paginator/active_record_extension.rb +++ b/lib/danbooru/paginator/active_record_extension.rb @@ -63,7 +63,8 @@ module Danbooru end def records_per_page - Danbooru.config.posts_per_page + # ugly hack but no easy way to pass this info down + Thread.current["records_per_page"] || Danbooru.config.posts_per_page end # taken from kaminari (https://github.com/amatsuda/kaminari)