Module: ActionController::RateLimiting
Do not use. This module is for internal use only.
Relationships & Source Files | |
Namespace Children | |
Modules:
| |
Extension / Inclusion / Inheritance Descendants | |
Included In:
| |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
::ActiveSupport::Concern
|
|
Defined in: | actionpack/lib/action_controller/metal/rate_limiting.rb |
Class Method Summary
::ActiveSupport::Concern
- Extended
class_methods | Define class methods from given block. |
included | Evaluate given block in context of base class, so that you can write class macros here. |
prepended | Evaluate given block in context of base class, so that you can write class macros here. |
append_features, prepend_features |
Instance Method Summary
Instance Method Details
#rate_limiting(to:, within:, by:, with:, store:, name:) (private)
[ GitHub ]# File 'actionpack/lib/action_controller/metal/rate_limiting.rb', line 61
def rate_limiting(to:, within:, by:, with:, store:, name:) cache_key = ["rate-limit", controller_path, name, instance_exec(&by)].compact.join(":") count = store.increment(cache_key, 1, expires_in: within) if count && count > to ActiveSupport::Notifications.instrument("rate_limit.action_controller", request: request) do instance_exec(&with) end end end