Class: Philiprehberger::RateLimiter::Noop
- Inherits:
-
Object
- Object
- Philiprehberger::RateLimiter::Noop
- Defined in:
- lib/philiprehberger/rate_limiter/noop.rb
Overview
A limiter that always allows requests. Useful for tests and feature-flagged rollouts.
Instance Method Summary collapse
- #allow!(_key = :default, weight: 1) ⇒ Object
- #allow?(_key = :default, weight: 1) ⇒ Boolean
- #clear ⇒ Object
- #info(_key = :default) ⇒ Object
- #keys ⇒ Object
- #on_reject ⇒ Object
- #peek(_key = :default) ⇒ Object
- #remaining(_key = :default) ⇒ Object
- #reset(_key = :default) ⇒ Object
- #stats(_key = :default) ⇒ Object
- #throttle(_key = :default, weight: 1, &block) ⇒ Object
Instance Method Details
#allow!(_key = :default, weight: 1) ⇒ Object
12 13 14 15 |
# File 'lib/philiprehberger/rate_limiter/noop.rb', line 12 def allow!(_key = :default, weight: 1) _ = weight true end |
#allow?(_key = :default, weight: 1) ⇒ Boolean
7 8 9 10 |
# File 'lib/philiprehberger/rate_limiter/noop.rb', line 7 def allow?(_key = :default, weight: 1) _ = weight true end |
#clear ⇒ Object
29 30 31 |
# File 'lib/philiprehberger/rate_limiter/noop.rb', line 29 def clear nil end |
#info(_key = :default) ⇒ Object
33 34 35 |
# File 'lib/philiprehberger/rate_limiter/noop.rb', line 33 def info(_key = :default) { remaining: Float::INFINITY, limit: Float::INFINITY, used: 0 } end |
#keys ⇒ Object
41 42 43 |
# File 'lib/philiprehberger/rate_limiter/noop.rb', line 41 def keys [] end |
#on_reject ⇒ Object
50 51 52 |
# File 'lib/philiprehberger/rate_limiter/noop.rb', line 50 def on_reject(&) self end |
#peek(_key = :default) ⇒ Object
17 18 19 |
# File 'lib/philiprehberger/rate_limiter/noop.rb', line 17 def peek(_key = :default) true end |
#remaining(_key = :default) ⇒ Object
21 22 23 |
# File 'lib/philiprehberger/rate_limiter/noop.rb', line 21 def remaining(_key = :default) Float::INFINITY end |
#reset(_key = :default) ⇒ Object
25 26 27 |
# File 'lib/philiprehberger/rate_limiter/noop.rb', line 25 def reset(_key = :default) nil end |
#stats(_key = :default) ⇒ Object
37 38 39 |
# File 'lib/philiprehberger/rate_limiter/noop.rb', line 37 def stats(_key = :default) { allowed: 0, rejected: 0 } end |
#throttle(_key = :default, weight: 1, &block) ⇒ Object
45 46 47 48 |
# File 'lib/philiprehberger/rate_limiter/noop.rb', line 45 def throttle(_key = :default, weight: 1, &block) _ = weight { allowed: true, value: block.call } end |