Sha256: 54bd8e6a61881b3538dc6b357a2c260bf6600c7e7e7a0a11c236ac4346886e35

Contents?: true

Size: 930 Bytes

Versions: 4

Compression:

Stored size: 930 Bytes

Contents

# frozen_string_literal: true

module Kinescope
  module ErrorHandler

    def self.included(base)
      base.send(:resources) do
        default_handler do |response|
          case response.status
          when 200..299
            next
          when 400
            raise Kinescope::BadRequestError.new("#{response.status}: #{response.body}")
          when 401
            raise Kinescope::UnauthorizedError.new("#{response.status}: #{response.body}")
          when 402
            raise Kinescope::PaymentRequired.new("#{response.status}: #{response.body}")
          when 403
            raise Kinescope::AccessDeniedError.new("#{response.status}: #{response.body}")
          when 404
            raise Kinescope::NotFoundError.new("#{response.status}: #{response.body}")
          else
            raise Kinescope::Error.new("#{response.status}: #{response.body}")
          end
        end
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
kinescope-rb-0.5.1 lib/kinescope/error_handler.rb
kinescope-rb-0.5.0 lib/kinescope/error_handler.rb
kinescope-rb-0.4.0 lib/kinescope/error_handler.rb
kinescope-rb-0.3.0 lib/kinescope/error_handler.rb