gitlab-org--gitlab-foss/app/finders/trending_projects_finder.rb
Dmitriy Zaporozhets 1df0345e9e
Explore area
Create one place for exploring GitLab instance projects and groups for
both signed in and anonymous users

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-07-23 11:13:33 +03:00

19 lines
533 B
Ruby

class TrendingProjectsFinder
def execute(current_user, start_date = nil)
start_date ||= Date.today - 1.month
projects = projects_for(current_user)
# Determine trending projects based on comments count
# for period of time - ex. month
projects.joins(:notes).where('notes.created_at > ?', start_date).
select("projects.*, count(notes.id) as ncount").
group("projects.id").order("ncount DESC")
end
private
def projects_for(current_user)
ProjectsFinder.new.execute(current_user)
end
end