Class: DeepLDiff::RedisRateLimiter

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

Defined Under Namespace

Classes: RateLimitExceeded

Instance Method Summary collapse

Instance Method Details

#check(size) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/deepl_diff/redis_rate_limiter.rb', line 14

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

    rate_limit.add size
  end
end