Commit 4b4ea91d885318d8991148344ec288a664a7747c
1 parent
1581240e
Exists in
master
and in
1 other branch
Fix badge rules grant initializer
Showing
1 changed file
with
3 additions
and
2 deletions
Show diff stats
lib/merit/badge_rules.rb
@@ -145,7 +145,7 @@ module Merit | @@ -145,7 +145,7 @@ module Merit | ||
145 | grant_on setting[:action], badge: badge.name, level: badge.level, to: setting[:to] do |source| | 145 | grant_on setting[:action], badge: badge.name, level: badge.level, to: setting[:to] do |source| |
146 | can_be_granted = true | 146 | can_be_granted = true |
147 | rules[badge.name.to_sym].each do |s| | 147 | rules[badge.name.to_sym].each do |s| |
148 | - if s[:to].is_a? Symbol | 148 | + if setting[:to].is_a? Symbol |
149 | to = source.send(setting[:to]) | 149 | to = source.send(setting[:to]) |
150 | else | 150 | else |
151 | begin | 151 | begin |
@@ -155,7 +155,8 @@ module Merit | @@ -155,7 +155,8 @@ module Merit | ||
155 | end | 155 | end |
156 | end | 156 | end |
157 | # pass source and to for different situations | 157 | # pass source and to for different situations |
158 | - can_be_granted &= s[:value].call(source, to) >= (badge.custom_fields || {}).fetch(:threshold, s[:default_threshold]).to_i | 158 | + action = (badge.custom_fields || {}).fetch(s[:action], {}) |
159 | + can_be_granted &= s[:value].call(source, to) >= action.fetch(:threshold, s[:default_threshold]).to_i | ||
159 | end | 160 | end |
160 | can_be_granted | 161 | can_be_granted |
161 | end | 162 | end |