Sha256: 7700d35b42c22b377e3e4828ce2454a7cc96e543d61b9b938278b95d4aebb21a
Contents?: true
Size: 1.56 KB
Versions: 13
Compression:
Stored size: 1.56 KB
Contents
module Quaderno module Exceptions class InvalidSubdomainOrToken < Exception end class InvalidID < Exception end class RateLimitExceeded < Exception end class HasAssociatedDocuments < Exception end class RequiredFieldsEmpty < Exception end def self.included(receiver) receiver.send :extend, ClassMethods end module ClassMethods def check_exception_for(party_response, params = {}) if params[:rate_limit].nil? == false raise(Quaderno::Exceptions::RateLimitExceeded, 'Rate limit exceeded') if party_response.response.class == Net::HTTPForbidden end if params[:subdomain_or_token].nil? == false raise(Quaderno::Exceptions::InvalidSubdomainOrToken, 'Invalid subdomain or token') if party_response.response.class == Net::HTTPUnauthorized end if params[:id].nil? == false raise(Quaderno::Exceptions::InvalidID, "Invalid #{ api_model } instance identifier") if (party_response.response.class == Net::HTTPInternalServerError) || (party_response.response.class == Net::HTTPNotFound) end if params[:required_fields].nil? == false raise(Quaderno::Exceptions::RequiredFieldsEmpty, "#{ JSON::parse party_response.body }") if party_response.response.class == Net::HTTPClientError end if params[:has_documents].nil? == false raise(Quaderno::Exceptions::HasAssociatedDocuments, "#{ JSON::parse party_response.body }") if party_response.response.class == Net::HTTPClientError end end end end end
Version data entries
13 entries across 13 versions & 1 rubygems