Module: ActionLimiter
- Defined in:
- lib/action_limiter.rb,
lib/action_limiter/config.rb,
lib/action_limiter/scripts.rb,
lib/action_limiter/version.rb,
lib/action_limiter/middleware.rb,
lib/action_limiter/rails/engine.rb,
lib/action_limiter/token_bucket.rb,
lib/action_limiter/middleware/ip.rb,
lib/action_limiter/instrumentation.rb
Defined Under Namespace
Modules: Middleware, Rails Classes: Config, TokenBucket
Constant Summary collapse
- SCRIPTS =
Dir.glob("#{__dir__}/scripts/*.lua").each_with_object({}) do |script_path, object| script_name = File.basename(script_path, '.lua').to_sym object[script_name] = File.read(script_path).freeze end.freeze
- VERSION =
The current version number
'1.0.0'
Class Method Summary collapse
-
.configure {|Config.instance| ... } ⇒ Object
Perform configuration.
- .instrument(name, payload = {}) ⇒ Object
- .with_redis_connection ⇒ Object
Class Method Details
.configure {|Config.instance| ... } ⇒ Object
Perform configuration
20 21 22 |
# File 'lib/action_limiter.rb', line 20 def self.configure yield(Config.instance) if block_given? end |
.instrument(name, payload = {}) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/action_limiter/instrumentation.rb', line 12 def self.instrument(name, payload = {}) if defined?(ActiveSupport::Notifications) ActiveSupport::Notifications.instrument(name, payload) { yield(payload) } else yield(payload) end end |
.with_redis_connection ⇒ Object
38 39 40 |
# File 'lib/action_limiter/config.rb', line 38 def self.with_redis_connection(...) Config.instance.redis.with(...) end |