From 19c210da71fd14f8014dda76efefcd290a8def90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Benavente?= Date: Thu, 29 Feb 2024 11:48:53 -0300 Subject: [PATCH] Add rake tasks for clearing user stats --- lib/tasks/users.rake | 46 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/lib/tasks/users.rake b/lib/tasks/users.rake index d7ecd54d..1ed884fc 100644 --- a/lib/tasks/users.rake +++ b/lib/tasks/users.rake @@ -6,4 +6,50 @@ namespace :users do u.update! end end + + desc "Set all stats to zero for all users" + task clear_stats: :environment do + User.each do |u| + u.stats.race_wins = 0 + u.stats.race_win_rate = 0.0 + u.stats.race_podiums = 0 + u.stats.race_count = 0 + u.stats.positions_sum = 0 + u.stats.session_wins = 0 + u.stats.session_win_rate = 0.0 + u.stats.session_podiums = 0 + u.stats.session_count = 0 + u.stats.average_position = 0.0 + u.stats.participation_rate = 0.0 + u.stats.official_score = 0.0 + u.stats.obtained_points = 0 + + u.update! + end + end + + desc "Set all stats to zero for a determined user" + task :clear_user_stats, [:username] => :environment do |t, args| + return if args[:username].nil? + + u = User.find { |u| u.username.downcase.eql?(args[:username].downcase) } + + return if u.nil? + + u.stats.race_wins = 0 + u.stats.race_win_rate = 0.0 + u.stats.race_podiums = 0 + u.stats.race_count = 0 + u.stats.positions_sum = 0 + u.stats.session_wins = 0 + u.stats.session_win_rate = 0.0 + u.stats.session_podiums = 0 + u.stats.session_count = 0 + u.stats.average_position = 0.0 + u.stats.participation_rate = 0.0 + u.stats.official_score = 0.0 + u.stats.obtained_points = 0 + + u.update! + end end