class Redd::Utilities::RateLimiter
Manages rate limiting by sleeping.
Public Class Methods
new(gap)
click to toggle source
# File lib/redd/utilities/rate_limiter.rb, line 7 def initialize(gap) @gap = gap @last_request_time = Time.now - gap end
Public Instance Methods
after_limit() { || ... }
click to toggle source
# File lib/redd/utilities/rate_limiter.rb, line 12 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