Class: Chokepoint::Minute
- Inherits:
-
TimeWindow
- Object
- Limiter
- TimeWindow
- Chokepoint::Minute
- Defined in:
- lib/chokepoint/minute.rb
Overview
This rate limiter strategy throttles the block by defining a maximum number of allowed calls per minute (by default, 60 requests per minute, which works out to an average of 1 request per second).
Note that this strategy doesn’t use a sliding time window, but rather tracks calls per distinct minute. This means that the throttling counter is reset every minute.
Instance Attribute Summary
Attributes inherited from Limiter
Instance Method Summary collapse
-
#initialize(name, options = {}) ⇒ Minute
constructor
A new instance of Minute.
- #max_per_minute ⇒ Object (also: #max_per_window)
Methods inherited from TimeWindow
Methods inherited from Limiter
#allowed?, #blacklisted?, #throttle, #whitelisted?
Constructor Details
#initialize(name, options = {}) ⇒ Minute
Returns a new instance of Minute.
23 24 25 |
# File 'lib/chokepoint/minute.rb', line 23 def initialize(name, = {}) super end |
Instance Method Details
#max_per_minute ⇒ Object Also known as: max_per_window
28 29 30 |
# File 'lib/chokepoint/minute.rb', line 28 def max_per_minute @max_per_hour ||= [:max] || 60 end |