refactoring

This commit is contained in:
albert
2011-06-25 19:31:39 -04:00
parent 28d179708f
commit 739e28919a
11 changed files with 159 additions and 54 deletions

View File

@@ -1,20 +1,10 @@
module PostSets
class Favorite < Base
attr_reader :user, :page, :favorites, :posts
attr_reader :user, :page, :favorites
def initialize(user_id, page)
@user = ::User.find(user_id)
@page = [page.to_i, 1].max
@favorites = ::Favorite.model_for(user.id).for_user(user.id).page(page)
@posts = ::Post.where("id in (?)", post_ids).order(arbitrary_sql_order_clause(post_ids, "posts")).page("b0")
end
def post_ids
@post_ids ||= favorites.map(&:post_id)
end
def offset
(page - 1) * records_per_page
@favorites = ::Favorite.model_for(user.id).for_user(user.id).paginate(page)
end
def tag_array
@@ -24,5 +14,13 @@ module PostSets
def tag_string
tag_array.join(" ")
end
def posts
favorites.map(&:post)
end
def presenter
@presenter ||= ::PostSetPresenters::Favorite.new(self)
end
end
end