Class: Legion::API::Middleware::RateLimit::CacheStore

Inherits:
Object
  • Object
show all
Defined in:
lib/legion/api/middleware/rate_limit.rb

Instance Method Summary collapse

Instance Method Details

#count(key, window) ⇒ Object



44
45
46
# File 'lib/legion/api/middleware/rate_limit.rb', line 44

def count(key, window)
  Legion::Cache.get("legion:ratelimit:#{key}:#{window}").to_i
end

#increment(key, window) ⇒ Object



37
38
39
40
41
42
# File 'lib/legion/api/middleware/rate_limit.rb', line 37

def increment(key, window)
  cache_key = "legion:ratelimit:#{key}:#{window}"
  current = Legion::Cache.get(cache_key).to_i
  Legion::Cache.set(cache_key, current + 1, ttl: 120)
  current + 1
end

#reap!Object



48
# File 'lib/legion/api/middleware/rate_limit.rb', line 48

def reap!; end