Files
danbooru/app/logical/moderator/dashboard/queries/comment.rb
2013-03-19 23:10:10 +11:00

34 lines
915 B
Ruby

module Moderator
module Dashboard
module Queries
class Comment
attr_reader :comment, :count
def self.all(min_date, max_level)
sql = <<-EOS
SELECT comment_votes.comment_id, count(*)
FROM comment_votes
JOIN comments ON comments.id = comment_id
JOIN users ON users.id = comments.creator_id
WHERE
comment_votes.created_at > ?
AND comments.score < 0
AND users.level <= ?
GROUP BY comment_votes.comment_id
HAVING count(*) >= 3
ORDER BY count(*) DESC
LIMIT 10
EOS
ActiveRecord::Base.select_all_sql(sql, min_date, max_level).map {|x| new(x)}
end
def initialize(hash)
@comment = ::Comment.find(hash["comment_id"])
@count = hash["count"]
end
end
end
end
end