Sha256: 660fe12454596cc2465b9713e1cad6763f20d3c53f9f8b2c27d2eff6e5346dd9
Contents?: true
Size: 1.02 KB
Versions: 1
Compression:
Stored size: 1.02 KB
Contents
module Calendlyr class Error < StandardError; end class PermissionDenied < StandardError; end class BadRequest < StandardError; end class PaymentRequired < StandardError; end class Unauthenticated < StandardError; end class NotFound < StandardError; end class ExternalCalendarEror < StandardError; end class InternalServerError < StandardError; end class TooManyRequestsEror < StandardError; end class ResponseErrorHandler ERROR_TYPES = { "400" => BadRequest, "401" => Unauthenticated, "403" => PermissionDenied, "404" => NotFound, "424" => ExternalCalendarEror, "429" => TooManyRequestsEror, "500" => InternalServerError } def initialize(code, body) @code = code @body = body end def error error_type.new("[Error #{@code}] #{@body["title"]}. #{@body["message"]}") end private def error_type return PaymentRequired if @code == "403" && @body["message"].include?("upgrade") ERROR_TYPES[@code] end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
calendlyr-0.7.1 | lib/calendlyr/error.rb |