From 0d82c50a3d89e5f570d0b6127bf1b97c94efcefc Mon Sep 17 00:00:00 2001 From: Ben Halpern Date: Wed, 30 May 2018 17:37:34 -0400 Subject: [PATCH] Add BadgeRewarder class and rake for auto badging (#367) --- app/labor/badge_rewarder.rb | 9 +++++++++ lib/tasks/fetch.rake | 7 +++++++ 2 files changed, 16 insertions(+) create mode 100644 app/labor/badge_rewarder.rb diff --git a/app/labor/badge_rewarder.rb b/app/labor/badge_rewarder.rb new file mode 100644 index 000000000..85ff90793 --- /dev/null +++ b/app/labor/badge_rewarder.rb @@ -0,0 +1,9 @@ +class BadgeRewarder + def award_yearly_club_badges + message = "Happy DEV birthday!" + User.where("created_at < ? AND created_at > ?",1.year.ago, 367.days.ago).each do |user| + BadgeAchievement.create(user_id: user.id, badge_id: 2, rewarding_context_message: message) + # ID 2 is the proper ID in prod. We should change in future to ENV var. + end + end +end diff --git a/lib/tasks/fetch.rake b/lib/tasks/fetch.rake index cf40ef94b..2d077fa86 100644 --- a/lib/tasks/fetch.rake +++ b/lib/tasks/fetch.rake @@ -63,5 +63,12 @@ task :github_repo_fetch_all => :environment do end task :send_email_digest => :environment do + return if Time.now.wday < 3 EmailDigest.send_periodic_digest_email end + +task :award_badges => :environment do + BadgeRewarder.new.award_yearly_club_badges +end + +