Exception: Paperdrive::Error

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

Overview

Error Class

Class Method Summary collapse

Class Method Details

.raise_from(response) ⇒ Object

raise errors which corresponding to response status code

Parameters:

Raises:

  • (klass)


10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/paperdrive/error.rb', line 10

def raise_from(response)
  status = response.status
  return if (200..299).cover?(status)

  klass = case status
          when 400 then Paperdrive::BadRequest
          when 401 then Paperdrive::Unauthorized
          when 429 then Paperdrive::RateLimitExceeded
          when 400..499 then Paperdrive::ClientError
          when 500 then Paperdrive::InternalServerError
          when 500..599 then Paperdrive::ServerError
          else Paperdrive::UnknownError
          end
  raise klass, "#{status}-#{response&.reason_phrase}"
end