Sha256: 3a437458709e7b235babd51222b23f42a153e7a42c8e7ad9b16d8cc167121adb
Contents?: true
Size: 962 Bytes
Versions: 1
Compression:
Stored size: 962 Bytes
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 ResponseErrorHandler ERROR_TYPES = { "400" => BadRequest, "401" => Unauthenticated, "403" => PermissionDenied, "404" => NotFound, "424" => ExternalCalendarEror, "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.0 | lib/calendlyr/error.rb |