mirror of
https://github.com/System-End/hackatime.git
synced 2026-04-19 23:32:53 +00:00
25 lines
489 B
Ruby
25 lines
489 B
Ruby
module LeaderboardCache
|
|
CACHE_EXPIRATION = 10.minutes
|
|
|
|
module_function
|
|
|
|
def global_key(period, date)
|
|
"leaderboard_#{period}_#{date}"
|
|
end
|
|
|
|
def timezone_key(offset, date, period)
|
|
"tz_leaderboard_#{offset}_#{date}_#{period}"
|
|
end
|
|
|
|
def write(key, data)
|
|
Rails.cache.write(key, data, expires_in: CACHE_EXPIRATION)
|
|
end
|
|
|
|
def read(key)
|
|
Rails.cache.read(key)
|
|
end
|
|
|
|
def fetch(key, &block)
|
|
Rails.cache.fetch(key, expires_in: CACHE_EXPIRATION, &block)
|
|
end
|
|
end
|