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