Sha256: d5e136f75ea2c9e66b9e53a218ead46ed221e7253acd95ac3b3887f9b19999bc
Contents?: true
Size: 459 Bytes
Versions: 8
Compression:
Stored size: 459 Bytes
Contents
# frozen_string_literal: true module Redd module Utilities # Manages rate limiting by sleeping. class RateLimiter def initialize(gap) @gap = gap @last_request_time = Time.now - gap end def after_limit sleep_time = (@last_request_time + @gap) - Time.now sleep(sleep_time) if sleep_time > 0.01 response = yield @last_request_time += @gap response end end end end
Version data entries
8 entries across 8 versions & 2 rubygems