Sha256: 168a5ba676c40bfdb5f05cafcb20b4489031d207b7a53d972a0e30390d6e21b6
Contents?: true
Size: 636 Bytes
Versions: 62
Compression:
Stored size: 636 Bytes
Contents
module Workarea module Metrics module Scoring extend ActiveSupport::Concern included do scope :since, ->(time) { where(:reporting_on.gte => time) } end class_methods do def score(field) scoped.sum { |i| i.score(field) } end end def score(field) if weeks_ago.zero? send(field) else send(field) * (Workarea.config.score_decay / weeks_ago) end end def weeks_ago difference = Time.current.beginning_of_week - reporting_on.beginning_of_week difference / 1.week end end end end
Version data entries
62 entries across 62 versions & 1 rubygems