diff --git a/app/models/user.rb b/app/models/user.rb index 4c360cd33fd4e63bbf35954f926421151e5c6e5f..438eaf6189eea18ed1652d122f5241de8b4867cb 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -400,7 +400,7 @@ class User < ApplicationRecord end # restart streak count - if Date.today - self.last_action_at >= 2 + if (Date.today - self.last_action_at).to_i >= 2 self.update(last_action_at: Date.today) self.update(streak: 1) end diff --git a/lib/tasks/user.rake b/lib/tasks/user.rake index 3c2999e6bbcb151f1375914ee0f6410300b0dd33..52919d097985c076d61e175dc8a12e092940a462 100644 --- a/lib/tasks/user.rake +++ b/lib/tasks/user.rake @@ -1,3 +1,5 @@ +require 'benchmark' +require 'date' namespace :user do desc 'Assign submitter role to users that had the teacher role' task set_submitters: :environment do @@ -13,5 +15,13 @@ namespace :user do user.generate_gamification_relations end end - + desc "Restart users' streak" + task :restart_streaks => :environment do + User.all.each do |user| + days = (Date.today - user.last_action_at).to_i + if days >= 2 + user.update_attribute(:streak, 0) + end + end + end end