activity_tracker.rb (525B)
- # frozen_string_literal: true
- class ActivityTracker
- EXPIRE_AFTER = 90.days.seconds
- class << self
- def increment(prefix)
- key = [prefix, current_week].join(':')
- redis.incrby(key, 1)
- redis.expire(key, EXPIRE_AFTER)
- end
- def record(prefix, value)
- key = [prefix, current_week].join(':')
- redis.pfadd(key, value)
- redis.expire(key, EXPIRE_AFTER)
- end
- private
- def redis
- Redis.current
- end
- def current_week
- Time.zone.today.cweek
- end
- end
- end