Sha256: e48425164f4d08429d09840e72005a34cff8f50bf259127611a36d71ea0a3071

Contents?: true

Size: 600 Bytes

Versions: 2

Compression:

Stored size: 600 Bytes

Contents

module Freefeed
  module Exceptions
    class ResponseError < StandardError
      attr_reader :response

      def initialize(response)
        @response = response
      end

      def to_s
        super + format(' (%s)', data.map { |k, v| %(#{k}: "#{v}") }.join(', '))
      end

      private

      def data
        @data ||= begin
          MultiJson.load(response.body)
        rescue MultiJson::DecodeError
          { uri: response.env.url.to_s, errors: response.body.to_s }
        end.merge(code: response.status)
      end
    end
    class WrongEndpoint < StandardError
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
freefeed-client-1.1.0 lib/freefeed/exceptions.rb
freefeed-client-0.1.0 lib/freefeed/exceptions.rb