Module: Philiprehberger::RateLimiter
- Defined in:
- lib/philiprehberger/rate_limiter.rb,
lib/philiprehberger/rate_limiter/noop.rb,
lib/philiprehberger/rate_limiter/version.rb,
lib/philiprehberger/rate_limiter/token_bucket.rb,
lib/philiprehberger/rate_limiter/sliding_window.rb,
lib/philiprehberger/rate_limiter/stats_tracking.rb
Defined Under Namespace
Modules: StatsTracking Classes: Error, Noop, RateLimitExceeded, SlidingWindow, TokenBucket
Constant Summary collapse
- VERSION =
'0.7.0'
Class Method Summary collapse
-
.noop ⇒ Noop
Build a no-op limiter that always allows requests.
- .sliding_window(limit:, window:) ⇒ Object
- .token_bucket(rate:, capacity:) ⇒ Object
Class Method Details
.noop ⇒ Noop
Build a no-op limiter that always allows requests.
35 36 37 |
# File 'lib/philiprehberger/rate_limiter.rb', line 35 def self.noop Noop.new end |
.sliding_window(limit:, window:) ⇒ Object
24 25 26 |
# File 'lib/philiprehberger/rate_limiter.rb', line 24 def self.sliding_window(limit:, window:) SlidingWindow.new(limit: limit, window: window) end |
.token_bucket(rate:, capacity:) ⇒ Object
28 29 30 |
# File 'lib/philiprehberger/rate_limiter.rb', line 28 def self.token_bucket(rate:, capacity:) TokenBucket.new(rate: rate, capacity: capacity) end |