Class: GoogleTranslateDiff::RedisRateLimiter

Inherits:
Object
  • Object
show all
Extended by:
Dry::Initializer
Defined in:
lib/google_translate_diff/redis_rate_limiter.rb

Defined Under Namespace

Classes: RateLimitExceeded

Instance Method Summary collapse

Instance Method Details

#check(size) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/google_translate_diff/redis_rate_limiter.rb', line 12

def check(size)
  connection_pool.with do |redis|
    rate_limit = Ratelimit.new(namespace, redis: redis)
    if rate_limit.exceeded?("call", threshold: threshold, interval: interval)
      raise RateLimitExceeded
    end
    rate_limit.add size
  end
end