Module: Merit::BadgeRulesMethods
- Defined in:
- lib/merit/badge_rules_methods.rb
Instance Method Summary collapse
-
#defined_rules ⇒ Object
Currently defined rules.
-
#grant_on(actions, *args, &block) ⇒ Object
Define rule for granting badges.
Instance Method Details
#defined_rules ⇒ Object
Currently defined rules
26 27 28 |
# File 'lib/merit/badge_rules_methods.rb', line 26 def defined_rules @defined_rules ||= {} end |
#grant_on(actions, *args, &block) ⇒ Object
Define rule for granting badges
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/merit/badge_rules_methods.rb', line 4 def grant_on(actions, *args, &block) = args. actions = Array.wrap(actions) rule = Rule.new rule.badge_id = [:badge_id] rule.badge_name = [:badge] rule.level = [:level] rule.to = [:to] || :action_user rule.multiple = [:multiple] || false rule.temporary = [:temporary] || false rule.model_name = [:model_name] || actions.first.split('#').first rule.block = block actions.each do |action| defined_rules[action] ||= [] defined_rules[action] << rule end end |