lib/calendlyr/resource.rb in calendlyr-0.4.0 vs lib/calendlyr/resource.rb in calendlyr-0.5.0
- old
+ new
@@ -5,10 +5,12 @@
module Calendlyr
class Resource
attr_reader :client
+ ERROR_CODES = %w[400 401 403 404 409 500]
+
def initialize(client)
@client = client
end
private
@@ -19,18 +21,10 @@
def post_request(url, body:)
handle_response request(url, Net::HTTP::Post, body: body)
end
- def patch_request(url, body:)
- handle_response request(url, Net::HTTP::Patch, body: body)
- end
-
- def put_request(url, body)
- handle_response request(url, Net::HTTP::Put, body: body)
- end
-
def delete_request(url, params: {})
handle_response request(url, Net::HTTP::Delete, params: params)
end
def request(url, req_type, body: {}, params: {}, base_url: Client::BASE_URL)
@@ -52,25 +46,14 @@
http.request(request)
end
def handle_response(response)
+ return true unless response.read_body
+
body = JSON.parse(response.read_body)
- case response.code
- when 400
- raise Error, "#{body["title"]}. #{body["message"]}"
- when 401
- raise Error, "#{body["title"]}. #{body["message"]}"
- when 403
- raise Error, "#{body["title"]}. #{body["message"]}"
- when 404
- raise Error, "#{body["title"]}. #{body["message"]}"
- when 429
- raise Error, "#{body["title"]}. #{body["message"]}"
- when 500
- raise Error, "#{body["title"]}. #{body["message"]}"
- when 503
- raise Error, "#{body["title"]}. #{body["message"]}"
+ if ERROR_CODES.include? response.code
+ raise Error, "[Error #{response.code}] #{body["title"]}. #{body["message"]}"
else
body
end
end
end