pool views

This commit is contained in:
albert
2011-02-25 17:41:00 -05:00
parent f48000a8b5
commit 6d0157265c
39 changed files with 1213 additions and 674 deletions

View File

@@ -3,7 +3,7 @@ module PostSets
attr_accessor :page, :before_id, :count, :posts
def initialize(options = {})
@page = options[:page].to_i
@page = options[:page] ? options[:page].to_i : 1
@before_id = options[:before_id]
load_posts
end
@@ -33,7 +33,15 @@ module PostSets
end
def presenter
@presnter ||= PostSetPresenter.new(self)
@presenter ||= PostSetPresenter.new(self)
end
def offset
((page < 1) ? 0 : (page - 1)) * count
end
def limit
Danbooru.config.posts_per_page
end
end
end

View File

@@ -14,9 +14,5 @@ module PostSets
def load_posts
@posts = user.favorite_posts(:before_id => before_id)
end
def limit
Danbooru.config.posts_per_page
end
end
end

View File

@@ -0,0 +1,33 @@
module PostSets
class Pool < Base
attr_reader :pool
def initialize(pool, options = {})
@pool = pool
@count = pool.post_id_array.size
super(options)
end
def tags
"pool:#{pool.name}"
end
def load_posts
@posts = pool.posts(:limit => limit, :offset => offset)
end
def sorted_posts
sort_posts(@posts)
end
private
def sort_posts(posts)
posts_by_id = posts.inject({}) do |hash, post|
hash[post.id] = post
hash
end
@pool.post_id_array.map {|x| posts_by_id[x]}
end
end
end

View File

@@ -30,10 +30,6 @@ module PostSets
x
end
def limit
Danbooru.config.posts_per_page
end
def is_single_tag?
tag_array.size == 1
end