Module: SpeedLimiter
- Defined in:
- lib/speed_limiter.rb,
lib/speed_limiter/redis.rb,
lib/speed_limiter/state.rb,
lib/speed_limiter/config.rb,
lib/speed_limiter/version.rb,
lib/speed_limiter/throttle.rb,
lib/speed_limiter/throttle_params.rb
Overview
Defined Under Namespace
Classes: Config, Redis, State, Throttle, ThrottleParams
Constant Summary
collapse
- VERSION =
"0.1.0"
Class Method Summary
collapse
Class Method Details
.config ⇒ Object
11
12
13
|
# File 'lib/speed_limiter.rb', line 11
def config
@config ||= Config.new
end
|
15
16
17
|
# File 'lib/speed_limiter.rb', line 15
def configure
yield(config)
end
|
.redis ⇒ Object
19
20
21
|
# File 'lib/speed_limiter.rb', line 19
def redis
@redis ||= config.redis || Redis.new(url: config.redis_url)
end
|
.throttle(key, **params) {|count| ... } ⇒ Object
30
31
32
|
# File 'lib/speed_limiter.rb', line 30
def throttle(key, **params, &block)
Throttle.new(config: config, key: key, **params, &block).throttle
end
|