Sha256: 5a2a35eeabc5265d7d6d623103a66d5fd8ae05b5381812b5cd2dfe852bf43a36

Contents?: true

Size: 831 Bytes

Versions: 27

Compression:

Stored size: 831 Bytes

Contents

module Merit
  module BadgeRulesMethods
    # Define rule for granting badges
    def grant_on(actions, *args, &block)
      options = args.extract_options!

      actions = Array.wrap(actions)

      rule = Rule.new
      rule.badge_id   = options[:badge_id]
      rule.badge_name = options[:badge]
      rule.level      = options[:level]
      rule.to         = options[:to] || :action_user
      rule.multiple   = options[:multiple] || false
      rule.temporary  = options[:temporary] || false
      rule.model_name = options[:model_name] || actions.first.split('#').first
      rule.block      = block

      actions.each do |action|
        defined_rules[action] ||= []
        defined_rules[action] << rule
      end
    end

    # Currently defined rules
    def defined_rules
      @defined_rules ||= {}
    end
  end
end

Version data entries

27 entries across 27 versions & 2 rubygems

Version Path
merit-4.0.3 lib/merit/badge_rules_methods.rb
qalam_merit-4.5.12 lib/merit/badge_rules_methods.rb
merit-4.0.2 lib/merit/badge_rules_methods.rb
qalam_merit-4.5.11 lib/merit/badge_rules_methods.rb
qalam_merit-4.5.10 lib/merit/badge_rules_methods.rb
qalam_merit-4.5.09 lib/merit/badge_rules_methods.rb
qalam_merit-4.5.08 lib/merit/badge_rules_methods.rb
qalam_merit-4.5.07 lib/merit/badge_rules_methods.rb
qalam_merit-4.5.06 lib/merit/badge_rules_methods.rb
qalam_merit-4.5.05 lib/merit/badge_rules_methods.rb
qalam_merit-4.5.04 lib/merit/badge_rules_methods.rb
qalam_merit-4.5.03 lib/merit/badge_rules_methods.rb
qalam_merit-4.5.02 lib/merit/badge_rules_methods.rb
qalam_merit-4.5.01 lib/merit/badge_rules_methods.rb
qalam_merit-4.5.00 lib/merit/badge_rules_methods.rb
qalam_merit-4.0.4 lib/merit/badge_rules_methods.rb
qalam_merit-4.0.35 lib/merit/badge_rules_methods.rb
merit-4.0.1 lib/merit/badge_rules_methods.rb
merit-4.0.0 lib/merit/badge_rules_methods.rb
merit-3.0.3 lib/merit/rules_badge_methods.rb