Module: RateLimitedService
- Extended by:
- ActiveSupport::Concern
- Included in:
- Issues::CreateService
- Defined in:
- app/services/concerns/rate_limited_service.rb
Defined Under Namespace
Classes: RateLimitedError, RateLimiterScopedAndKeyed
Constant Summary
collapse
- RateLimitedNotSetupError =
Class.new(StandardError)
Instance Method Summary
collapse
Instance Method Details
#execute(*args, **kwargs) ⇒ Object
79
80
81
82
83
84
85
|
# File 'app/services/concerns/rate_limited_service.rb', line 79
def execute(*args, **kwargs)
raise RateLimitedNotSetupError if rate_limiter_scoped_and_keyed.nil?
rate_limiter_scoped_and_keyed.rate_limit!(self) unless rate_limiter_bypassed
super
end
|
#execute_without_rate_limiting(*args, **kwargs) ⇒ Object
72
73
74
75
76
77
|
# File 'app/services/concerns/rate_limited_service.rb', line 72
def execute_without_rate_limiting(*args, **kwargs)
self.rate_limiter_bypassed = true
execute(*args, **kwargs)
ensure
self.rate_limiter_bypassed = false
end
|