Sha256: 8405f69790e7d35f18053100e24fa9fe8d0f61745e2b1e43a4c9797bab269af3
Contents?: true
Size: 1.11 KB
Versions: 10
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true # The main hubspot module module Hubspot # define the Hubspot specific error classes class RequestError < StandardError attr_accessor :response def initialize(response, message = nil) message = response.parsed_response['message'] if !message && response.respond_to?(:parsed_response) message += "\n" if message me = super("#{message}Response body: #{response.body}",) me.response = response end end class NotFoundError < RequestError; end class OauthScopeError < RequestError; end class RateLimitExceededError < RequestError; end class NotConfiguredError < StandardError; end class ArgumentError < StandardError; end class << self def error_from_response(response) return NotFoundError.new(response) if response.not_found? return RateLimitExceededError.new(response) if response.code == 429 case response.body when /MISSING_SCOPES/, /You do not have permissions/i OauthScopeError.new(response, 'Private app missing required scopes') else RequestError.new(response) end end end end
Version data entries
10 entries across 10 versions & 1 rubygems