class Rack::Ratelimit::RedisCounter
Public Class Methods
new(redis, name, period)
click to toggle source
# File lib/rack/ratelimit.rb, line 213 def initialize(redis, name, period) @redis, @name, @period = redis, name, period end
Public Instance Methods
increment(classification, epoch)
click to toggle source
Increment the request counter and return the current count.
# File lib/rack/ratelimit.rb, line 218 def increment(classification, epoch) key = 'rack-ratelimit/%s/%s/%i' % [@name, classification, epoch] # Returns [count, expire_ok] response for each multi command. # Return the first, the count. @redis.multi do |redis| redis.incr key redis.expire key, @period end.first rescue Redis::BaseError 0 end