Commit 1581240eb791cf70901389ed6ac271262f9cd24e
1 parent
a4abbe84
Exists in
master
and in
1 other branch
Add badge threshold migration
Showing
1 changed file
with
23 additions
and
0 deletions
Show diff stats
db/migrate/20151003000212_move_badge_threshold_to_action_key.rb
0 → 100644
| ... | ... | @@ -0,0 +1,23 @@ |
| 1 | +class MoveBadgeThresholdToActionKey < ActiveRecord::Migration | |
| 2 | + def up | |
| 3 | + GamificationPlugin::Badge.all.each do |badge| | |
| 4 | + next if Merit::BadgeRules::AVAILABLE_RULES[badge.name.to_sym].nil? | |
| 5 | + Merit::BadgeRules::AVAILABLE_RULES.each do |name, settings| | |
| 6 | + setting = settings.first | |
| 7 | + badge.custom_fields[setting[:action]] = {threshold: badge.custom_fields[:threshold]} unless badge.custom_fields[:threshold].nil? | |
| 8 | + badge.save | |
| 9 | + end | |
| 10 | + end | |
| 11 | + end | |
| 12 | + | |
| 13 | + def down | |
| 14 | + GamificationPlugin::Badge.all.each do |badge| | |
| 15 | + next if Merit::BadgeRules::AVAILABLE_RULES[badge.name.to_sym].nil? | |
| 16 | + Merit::BadgeRules::AVAILABLE_RULES.each do |name, settings| | |
| 17 | + setting = settings.first | |
| 18 | + badge.custom_fields[:threshold] = badge.custom_fields[setting[:action]][:threshold] unless badge.custom_fields[setting[:action]][:threshold].nil? | |
| 19 | + badge.save | |
| 20 | + end | |
| 21 | + end | |
| 22 | + end | |
| 23 | +end | ... | ... |