forked from webdino/gitfab2
-
Notifications
You must be signed in to change notification settings - Fork 0
グループごとのアクセス数集計
Yuichi Takeuchi edited this page May 29, 2019
·
1 revision
groups = Group.active.sort_by { |group| Project.published.where(owner: group).inject(0) { |count, project| project.project_access_logs.where("created_at > ?", 1.month.ago).count + count } }.reverse
since = 1.month.ago
groups.each_with_index { |group, index|
projects = Project.active.published.exclude_blacklisted.where(owner: group)
pairs = projects.map { |project| [project, project.project_access_logs.where("project_access_logs.created_at > ?", since).count] }.sort_by { |pair| pair[1] * -1 }
puts "#{index+1}. #{group.name} (#{pairs.map {|pair| pair[1]}.sum })"
pairs.each do |pair|
project = pair[0]
puts "#{project.owner.name}/#{project.name}\t(#{pair[1]})"
end
puts ""
}; nil