Sha256: 9dc593837cf305996843a7ab41e10cefcf88852970b63c398be8eed3e3252691
Contents?: true
Size: 878 Bytes
Versions: 9
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
9 entries across 9 versions & 1 rubygems