class Zoom::Utils
Public Class Methods
argument_error(name)
click to toggle source
# File lib/zoom/utils.rb, line 6 def argument_error(name) name ? ArgumentError.new("You must provide #{name}") : ArgumentError.new end
build_error(response)
click to toggle source
# File lib/zoom/utils.rb, line 24 def build_error(response) error_hash = { base: response['message']} error_hash[response['message']] = response['errors'] if response['errors'] error_hash end
exclude_argument_error(name)
click to toggle source
# File lib/zoom/utils.rb, line 10 def exclude_argument_error(name) name ? ArgumentError.new("Unrecognized parameter #{name}") : ArgumentError.new end
extract_options!(array)
click to toggle source
# File lib/zoom/utils.rb, line 34 def extract_options!(array) array.last.is_a?(::Hash) ? array.pop : {} end
parse_response(http_response)
click to toggle source
# File lib/zoom/utils.rb, line 30 def parse_response(http_response) raise_if_error!(http_response.parsed_response) || http_response.code end
process_datetime_params!(params, options)
click to toggle source
# File lib/zoom/utils.rb, line 43 def process_datetime_params!(params, options) params = [params] unless params.is_a? Array params.each do |param| if options[param] && options[param].kind_of?(Time) options[param] = options[param].strftime('%FT%TZ') end end options end
raise_if_error!(response)
click to toggle source
# File lib/zoom/utils.rb, line 14 def raise_if_error!(response) 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
validate_password(password)
click to toggle source
# File lib/zoom/utils.rb, line 38 def validate_password(password) password_regex = /\A[a-zA-Z0-9@-_*]{0,10}\z/ raise(Error , 'Invalid Password') unless password[password_regex].nil? end