Skip to content

Commit 7ebfac7

Browse files
author
Christian Kruse
committed
FEAT: new script to distribute badges
1 parent a4a178f commit 7ebfac7

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

script/recalculate_badges.rb

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/env ruby
2+
# -*- coding: utf-8 -*-
3+
4+
require File.join(File.dirname(__FILE__), "..", "config", "boot")
5+
require File.join(File.dirname(__FILE__), "..", "config", "environment")
6+
require File.join(File.dirname(__FILE__), "..", "lib", "peon")
7+
require File.join(File.dirname(__FILE__), "..", "lib", "peon", "grunt")
8+
9+
# TODO add support for pathes below root
10+
def cf_badge_path(b)
11+
return '/badges/' + b.slug
12+
end
13+
14+
p = Peon::Tasks::PeonTask.new
15+
16+
CfBadgeUser.transaction do
17+
CfBadgeUser.delete_all
18+
badges = CfBadge.all
19+
20+
CfUser.all.each do |u|
21+
badges.each do |b|
22+
if u.score >= b.score_needed
23+
u.badges_users.create(badge_id: b.badge_id)
24+
p.notify_user(
25+
u, '', I18n.t('badges.badge_won',
26+
name: b.name,
27+
mtype: I18n.t("badges.badge_medal_types." + b.badge_medal_type)),
28+
cf_badge_path(b), b.badge_id, 'badge'
29+
)
30+
end
31+
end
32+
end
33+
end
34+
35+
# eof

0 commit comments

Comments
 (0)