Sha256: 3d4127986f8e1562ba951d452b58bf0f38c69d67dda58fc86246510d2079fd0c

Contents?: true

Size: 426 Bytes

Versions: 11

Compression:

Stored size: 426 Bytes

Contents

module Notifications
  class Client
    class RequestError < StandardError
      attr_reader :code, :message

      def initialize(response)
        @code = response.code
        @message = message_from(response.body)
      end

      def to_s
        "#{code} #{message}"
      end

      def message_from(body)
        JSON.parse(body).fetch('errors')
      rescue JSON::ParserError
        body
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
notifications-ruby-client-2.9.0 lib/notifications/client/request_error.rb
notifications-ruby-client-2.8.0 lib/notifications/client/request_error.rb
notifications-ruby-client-2.7.0 lib/notifications/client/request_error.rb
notifications-ruby-client-2.6.0 lib/notifications/client/request_error.rb
notifications-ruby-client-2.5.1 lib/notifications/client/request_error.rb
notifications-ruby-client-2.5.0 lib/notifications/client/request_error.rb
notifications-ruby-client-2.4.0 lib/notifications/client/request_error.rb
notifications-ruby-client-2.3.0 lib/notifications/client/request_error.rb
notifications-ruby-client-2.2.0 lib/notifications/client/request_error.rb
notifications-ruby-client-2.1.0 lib/notifications/client/request_error.rb
notifications-ruby-client-2.0.0 lib/notifications/client/request_error.rb