Exception: Contentful::Management::Error

Inherits:
StandardError
  • Object
show all
Defined in:
lib/contentful/management/error.rb

Overview

All errors raised by the contentful gem are either instances of Contentful::Management::Error or inherit from Contentful::Management::Error

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response) ⇒ Error

Returns a new instance of Error.



8
9
10
11
12
13
14
15
16
# File 'lib/contentful/management/error.rb', line 8

def initialize(response)
  @response = response
  @error = {
    url: response.request.endpoint,
    message: response.error_message,
    details: response.raw.body.instance_variable_get(:@contents)
  }
  super best_available_message
end

Instance Attribute Details

#errorObject (readonly)

Returns the value of attribute error.



6
7
8
# File 'lib/contentful/management/error.rb', line 6

def error
  @error
end

#responseObject (readonly)

Returns the value of attribute response.



6
7
8
# File 'lib/contentful/management/error.rb', line 6

def response
  @response
end

Class Method Details

.[](error_status_code) ⇒ Object

Shortcut for creating specialized error classes USAGE rescue Contentful::Management::Error



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/contentful/management/error.rb', line 20

def self.[](error_status_code)
  errors = {
    400 => BadRequest,
    401 => Unauthorized,
    403 => AccessDenied,
    404 => NotFound,
    409 => Conflict,
    422 => UnprocessableEntity,
    429 => RateLimitExceeded,
    500 => ServerError,
    502 => BadGateway,
    503 => ServiceUnavailable
  }.freeze

  errors.key?(error_status_code) ? errors[error_status_code] : Error
end