Sha256: 38c67838379a7a9f1dde43a0fece365490966c1963f35fd0ed1ea87d89dd1261
Contents?: true
Size: 878 Bytes
Versions: 5
Compression:
Stored size: 878 Bytes
Contents
module Merit # Rules has a badge name and level, a target to badge, a conditions block # and a temporary option. # Could split this class between badges and rankings functionality class Rule attr_accessor :badge_name, :level, :to, :model_name, :level_name, :multiple, :temporary, :score, :block # Does this rule's condition block apply? def applies?(target_obj = nil) return true if block.nil? # no block given: always true case block.arity when 1 # Expects target object if target_obj.present? block.call(target_obj) else Rails.logger.warn '[merit] no target_obj found on Rule#applies?' false end when 0 block.call end end # Get rule's related Badge. def badge @badge ||= Badge.find_by_name_and_level(badge_name, level) end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
merit-1.7.1 | lib/merit/rule.rb |
merit-1.7.0 | lib/merit/rule.rb |
merit-1.6.2 | lib/merit/rule.rb |
merit-1.6.1 | lib/merit/rule.rb |
merit-1.6.0 | lib/merit/rule.rb |