class BaiduAi::AccessTokenManager

Public Instance Methods

get_access_token() click to toggle source
# File lib/baidu_ai/assess_token/assess_token_manager.rb, line 7
def get_access_token
  if @token && !token_expired?
    if BaiduAi.debug_mode && BaiduAi.logger
      BaiduAi.logger.debug "Using existing access-token #{@token}"
    end
    return @token
  end
  get_and_save_new_token
end

Private Instance Methods

get_and_save_new_token() click to toggle source
# File lib/baidu_ai/assess_token/assess_token_manager.rb, line 33
def get_and_save_new_token
  url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=#{BaiduAi.api_key}&client_secret=#{BaiduAi.secret_key}"
  response = JSON.parse(Net::HTTP.get(URI(url)))
  save_token response
end
save_token(response) click to toggle source
# File lib/baidu_ai/assess_token/assess_token_manager.rb, line 23
def save_token response 
  @token = response['access_token']
  @expires_in = response['expires_in']
  @created_time = Time.now
  if BaiduAi.debug_mode && BaiduAi.logger
    BaiduAi.logger.debug "Saving acess-token #{@token}, expires_in #{@expires_in} seconds."
  end
  @token
end
token_expired?() click to toggle source
# File lib/baidu_ai/assess_token/assess_token_manager.rb, line 19
def token_expired?
  Time.now - @created_time > @expires_in
end