class SmileIdentityCore::Utilities
Public Class Methods
new(partner_id, api_key, sid_server)
click to toggle source
# File lib/smile-identity-core/utilities.rb, line 4 def initialize(partner_id, api_key, sid_server) @partner_id = partner_id.to_s @api_key = api_key if !(sid_server =~ URI::regexp) sid_server_mapping = { 0 => 'https://3eydmgh10d.execute-api.us-west-2.amazonaws.com/test', 1 => 'https://la7am6gdm8.execute-api.us-west-2.amazonaws.com/prod' } @url = sid_server_mapping[sid_server.to_i] else @url = sid_server end @signature_connection = SmileIdentityCore::Signature.new(@partner_id, @api_key) end
Public Instance Methods
get_job_status(user_id, job_id, options = {})
click to toggle source
# File lib/smile-identity-core/utilities.rb, line 22 def get_job_status(user_id, job_id, options = {}) if(options.nil? || options.empty?) options = { return_history: false, return_job_status: false } end @timestamp = Time.now.to_i return query_job_status(user_id, job_id, symbolize_keys(options)) end
Private Instance Methods
configure_job_query(user_id, job_id, options)
click to toggle source
# File lib/smile-identity-core/utilities.rb, line 70 def configure_job_query(user_id, job_id, options) return { sec_key: @signature_connection.generate_sec_key(@timestamp)[:sec_key], timestamp: @timestamp, user_id: user_id, job_id: job_id, partner_id: @partner_id, image_links: options[:return_image_links] || false, history: options[:return_history] || false }.to_json end
query_job_status(user_id, job_id, options)
click to toggle source
# File lib/smile-identity-core/utilities.rb, line 41 def query_job_status(user_id, job_id, options) url = "#{@url}/job_status" request = Typhoeus::Request.new( url, headers: {'Content-Type': 'application/json', 'Accept': 'application/json'}, method: :post, body: configure_job_query(user_id, job_id, options) ) request.on_complete do |response| begin body = JSON.parse(response.body) valid = @signature_connection.confirm_sec_key(body['timestamp'], body['signature']) if(!valid) raise "Unable to confirm validity of the job_status response" end return body rescue => e raise e end end request.run end
symbolize_keys(params)
click to toggle source
# File lib/smile-identity-core/utilities.rb, line 37 def symbolize_keys params (params.is_a?(Hash)) ? Hash[params.map{ |k, v| [k.to_sym, v] }] : params end