Class: Galago::RateLimiter::RedisCounter

Inherits:
Object
  • Object
show all
Defined in:
lib/galago/rate_limiter/redis_counter.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ RedisCounter

Returns a new instance of RedisCounter.



4
5
6
# File 'lib/galago/rate_limiter/redis_counter.rb', line 4

def initialize(client)
  @redis = client
end

Instance Method Details

#increment(key, amount, options = {}) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/galago/rate_limiter/redis_counter.rb', line 8

def increment(key, amount, options = {})
  count, _ = @redis.multi do |multi|
    multi.incrby(key, amount)
    multi.expire(key, options[:expires_in])
  end
  count
end

#reset!Object



16
17
18
# File 'lib/galago/rate_limiter/redis_counter.rb', line 16

def reset!
  @redis.flushdb
end