Class: Nylas::RateLimitError

Inherits:
APIError show all
Defined in:
lib/nylas/errors.rb

Overview

Error class representing a 429 error response, with details on the rate limit

Constant Summary collapse

RATE_LIMIT_LIMIT_HEADER =
"x_ratelimit_limit"
RATE_LIMIT_RESET_HEADER =
"x_ratelimit_reset"

Instance Attribute Summary collapse

Attributes inherited from APIError

#message, #server_error, #type

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type, message, server_error = nil, rate_limit = nil, rate_limit_reset = nil) ⇒ RateLimitError

Returns a new instance of RateLimitError.



66
67
68
69
70
# File 'lib/nylas/errors.rb', line 66

def initialize(type, message, server_error = nil, rate_limit = nil, rate_limit_reset = nil)
  super(type, message, server_error)
  self.rate_limit = rate_limit
  self.rate_limit_reset = rate_limit_reset
end

Instance Attribute Details

#rate_limitObject

Returns the value of attribute rate_limit.



60
61
62
# File 'lib/nylas/errors.rb', line 60

def rate_limit
  @rate_limit
end

#rate_limit_resetObject

Returns the value of attribute rate_limit_reset.



61
62
63
# File 'lib/nylas/errors.rb', line 61

def rate_limit_reset
  @rate_limit_reset
end

Class Method Details

.parse_error_response(response) ⇒ Object



72
73
74
75
76
77
78
79
80
81
82
# File 'lib/nylas/errors.rb', line 72

def self.parse_error_response(response)
  rate_limit, rate_limit_rest = extract_rate_limit_details(response)

  new(
    response["type"],
    response["message"],
    response["server_error"],
    rate_limit,
    rate_limit_rest
  )
end