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