class Zoomify::Request
Public Class Methods
argument_error(name)
click to toggle source
# File lib/zoomify/request.rb, line 13 def argument_error(name) name ? ArgumentError.new("#{name} is required!") : ArgumentError.new end
build_object(code, msg)
click to toggle source
# File lib/zoomify/request.rb, line 52 def build_object code, msg OpenStruct.new(code: code, message: msg) end
extract_errors(response, method_name, url, args)
click to toggle source
# File lib/zoomify/request.rb, line 19 def extract_errors response, method_name, url, args Request.raise_error(response) case response.code when 204 Request.extract_response_vs_object(response) { Request.build_object(204, 'Action Completed Successfully!') } when 404 Request.extract_response_vs_object(response){ Request.build_object(404, 'Content Not Found!') } when 401 parsed_response = response.parsed_response parsed_response['message'].include?('expire') ? (Zoomify::Client.headers(Request.headers) && Zoomify::Client.send(method_name,url, args)) : OpenStruct.new(parsed_response) else Request.extract_response_vs_object(response){ Request.build_object(response.code, 'Invalid Response!') } end end
extract_id_from_params(params)
click to toggle source
# File lib/zoomify/request.rb, line 7 def extract_id_from_params params params[:id].blank? ? params[:email] : params[:id] end
extract_id_vs_uuid_from_params(params)
click to toggle source
# File lib/zoomify/request.rb, line 10 def extract_id_vs_uuid_from_params params params[:id].blank? ? params[:uuid] : params[:id] end
extract_params(args)
click to toggle source
# File lib/zoomify/request.rb, line 4 def extract_params(args) args.last.is_a?(::Hash) ? args.pop.with_indifferent_access : {} end
extract_params_and_manage_id_error(*args)
click to toggle source
# File lib/zoomify/request.rb, line 75 def extract_params_and_manage_id_error *args params = Request.extract_params(args) params[:id].blank? ? (raise Request.argument_error "id") : params end
extract_params_and_manage_user_id_error(*args)
click to toggle source
# File lib/zoomify/request.rb, line 64 def extract_params_and_manage_user_id_error *args params = Request.extract_params(args) Request.raise_user_id_email_error params params end
extract_response_vs_object(response) { || ... }
click to toggle source
# File lib/zoomify/request.rb, line 55 def extract_response_vs_object response parsed_response = response.parsed_response unless parsed_response.blank? hash = parsed_response.kind_of?(Hash) ? parsed_response : JSON.parse(parsed_response) OpenStruct.new(hash) else yield end end
headers()
click to toggle source
# File lib/zoomify/request.rb, line 39 def headers exp = (Time.now.to_i + (4*3600)) iss_payload = { iss: Zoomify.api_key, exp: exp } token = JWT.encode iss_payload, Zoomify.api_secret, 'HS256' { 'Accept' => 'application/json', 'Content-Type' => 'application/json', 'Authorization' => "Bearer #{token}" } end
raise_error(response)
click to toggle source
# File lib/zoomify/request.rb, line 16 def raise_error(response) response["error"] ? raise(Error.new(response["error"]["message"])) : response end
raise_from_to_error(params)
click to toggle source
# File lib/zoomify/request.rb, line 79 def raise_from_to_error params (raise Request.argument_error "from and to") if (params[:from].blank? || params[:to].blank?) end
raise_meeting_id_error(params)
click to toggle source
# File lib/zoomify/request.rb, line 72 def raise_meeting_id_error params (raise Request.argument_error "Meeting id or uuid") if params[:id].blank? && params[:uuid].blank? end
raise_user_id_email_error(params)
click to toggle source
# File lib/zoomify/request.rb, line 69 def raise_user_id_email_error params (raise Request.argument_error "User's id or email") if params[:id].blank? && params[:email].blank? end
retrieve_params_and_manage_from_to_error(*args)
click to toggle source
# File lib/zoomify/request.rb, line 82 def retrieve_params_and_manage_from_to_error *args params = Request.extract_params args Request.raise_from_to_error params params end