31 lines
764 B
Ruby
31 lines
764 B
Ruby
module Moderator
|
|
module Dashboard
|
|
module Queries
|
|
class PostAppeal
|
|
attr_reader :post, :reason
|
|
|
|
def self.all(min_date)
|
|
sql = <<-EOS
|
|
SELECT post_appeals.post_id, count(*)
|
|
FROM post_appeals
|
|
JOIN posts ON posts.id = post_appeals.post_id
|
|
WHERE
|
|
post_appeals.created_at > ?
|
|
and posts.status <> ?
|
|
GROUP BY post_appeals.post_id
|
|
ORDER BY count(*) DESC
|
|
LIMIT 10
|
|
EOS
|
|
|
|
ActiveRecord::Base.select_all_sql(sql, min_date).map {|x| new(x)}
|
|
end
|
|
|
|
def initialize(hash)
|
|
@post = Post.find(hash["post_id"])
|
|
@reason = hash["reason"]
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|