lib/zoom/utils.rb in zoom_rb-0.10.0 vs lib/zoom/utils.rb in zoom_rb-0.11.0
- old
+ new
@@ -10,17 +10,22 @@
def exclude_argument_error(name)
name ? ArgumentError.new("Unrecognized parameter #{name}") : ArgumentError.new
end
def raise_if_error!(response)
- if response&.[]('code') && response['code'] >= 300
- error_hash = { base: response['message']}
- raise Error, error_hash unless response['errors']
- error_hash[response['message']] = response['errors']
- raise Error, error_hash
- else
- response
- end
+ return response unless response&.key?('code')
+
+ code = response['code']
+
+ raise AuthenticationError, build_error(response) if code == 124
+ error_hash = build_error(response)
+ raise Error.new(error_hash, error_hash) if code >= 300
+ end
+
+ def build_error(response)
+ error_hash = { base: response['message']}
+ error_hash[response['message']] = response['errors'] if response['errors']
+ error_hash
end
def parse_response(http_response)
raise_if_error!(http_response.parsed_response) || http_response.code
end