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

31 lines
813 B
Ruby

module Moderator
module Dashboard
module Queries
class WikiPage
attr_reader :user, :count
def self.all(min_date, max_level)
sql = <<-EOS
SELECT wiki_page_versions.updater_id, count(*)
FROM wiki_page_versions
JOIN users ON users.id = wiki_page_versions.updater_id
WHERE
wiki_page_versions.created_at > ?
AND users.level <= ?
GROUP BY wiki_page_versions.updater_id
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)
@user = ::User.find(hash["updater_id"])
@count = hash["count"]
end
end
end
end
end