Exception: SpeedLimiter::Errors::LimitExceededError

Inherits:
StandardError
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/speed_limiter/errors/limit_exceeded_error.rb

Overview

SpeedLimiter limit exceeded Base Error

Direct Known Subclasses

ThrottledError

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(state) ⇒ LimitExceededError

Returns a new instance of LimitExceededError.

Parameters:



12
13
14
15
# File 'lib/speed_limiter/errors/limit_exceeded_error.rb', line 12

def initialize(state)
  @state = state
  super(error_message)
end

Instance Attribute Details

#stateObject (readonly)

Returns the value of attribute state.



16
17
18
# File 'lib/speed_limiter/errors/limit_exceeded_error.rb', line 16

def state
  @state
end

Instance Method Details

#countObject

See Also:



28
# File 'lib/speed_limiter/errors/limit_exceeded_error.rb', line 28

delegate %i[key ttl count limit period] => :@state

#error_messageObject



30
31
32
# File 'lib/speed_limiter/errors/limit_exceeded_error.rb', line 30

def error_message
  "#{key} rate limit exceeded. Retry after #{ttl} seconds. limit=#{limit}, count=#{count}, period=#{period}"
end

#keyObject

See Also:



28
# File 'lib/speed_limiter/errors/limit_exceeded_error.rb', line 28

delegate %i[key ttl count limit period] => :@state

#limitObject

See Also:



28
# File 'lib/speed_limiter/errors/limit_exceeded_error.rb', line 28

delegate %i[key ttl count limit period] => :@state

#periodObject

See Also:



28
# File 'lib/speed_limiter/errors/limit_exceeded_error.rb', line 28

delegate %i[key ttl count limit period] => :@state

#ttlObject

See Also:



28
# File 'lib/speed_limiter/errors/limit_exceeded_error.rb', line 28

delegate %i[key ttl count limit period] => :@state