20 lines
521 B
Ruby
20 lines
521 B
Ruby
class PostModerationDetail < ActiveRecord::Base
|
|
belongs_to :post
|
|
belongs_to :user
|
|
|
|
def self.filter(posts, user, select_hidden = false)
|
|
hidden = where(:user_id => user.id).select("post_id").map(&:post_id)
|
|
if select_hidden
|
|
posts.select {|x| hidden.include?(x.id)}
|
|
else
|
|
posts.reject {|x| hidden.include?(x.id)}
|
|
end
|
|
end
|
|
|
|
def self.prune!
|
|
joins(:post).where("posts.is_pending = FALSE AND posts.is_flagged = FALSE").each do |hidden_post|
|
|
hidden_post.destroy
|
|
end
|
|
end
|
|
end
|