Skip to content

Instantly share code, notes, and snippets.

@samuels410
Created April 19, 2018 06:31
Show Gist options
  • Save samuels410/46284f2e608f2756f94e64242c65fbd9 to your computer and use it in GitHub Desktop.
Save samuels410/46284f2e608f2756f94e64242c65fbd9 to your computer and use it in GitHub Desktop.
grader_stats.rb
in_submissions = []
canva_docs = Canvadoc.where("created_at >= ? and created_at <= ?",'2018-03-26','2018-04-16').find_in_batches() do |group|
group.each do |canva_doc|
submission = Submission.where(attachment_ids: canva_doc.attachment.id).first
if submission.present? && submission.graded_at.present?
in_submissions << submission
puts "submission"
else
puts "no submission"
end
end
end
submissions = Submission.where("graded_at >= ? and graded_at <= ? and attachment_ids is not null",'2018-03-26','2018-04-16')
require 'csv'
file = "#{Rails.root}/marker_stats.csv"
grouped_submissions = submissions.group_by{|s| [s['graded_at'].strftime('%m/%d/%Y'),s['grader_id']]}
CSV.open( file, 'w' ) do |writer|
grouped_submissions.each do |grouped_submission|
user_and_date = grouped_submission.first
number_of_submissions = grouped_submission.last.size
user_id = grouped_submission.first.second
user = User.find(user_id)
writer << [user_id,user.name,grouped_submission.first.first, number_of_submissions]
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment