class PPC::API::Sm

Public Class Methods

process( response, key, &func) click to toggle source
# File lib/ppc/api/sm.rb, line 18
def self.process( response, key, &func)
  '''
  Process Http response. If operation successes, return value of given keys.
  You can process the result using function &func, or do nothing by passing 
  block {|x|x}
  =========================== 
  @Output: resultType{ desc: boolean, failure: Array,  result: Array }

  failure is the failures part of response\'s header
  result is the processed response body.
  '''
  result = {}
  result[:succ] = response['header']['desc'][/(success|执行成功)/] ? true : false
  result[:failure] = response['header']['failures']
  result[:result] = func[ response['body'][key] ] rescue nil
  result[:no_quota] = (response['header']['failures']['code'] == '8501') rescue false
  result[:rquota] = response["header"]["leftQuota"] rescue 0
  result
end
request_uri(param = {}) click to toggle source
# File lib/ppc/api/sm.rb, line 14
def self.request_uri(param = {})
  URI("https://e.sm.cn/api/#{param[:service]}/#{param[:method]}")
end