Class: PPC::API::Baidu

Inherits:
Object
  • Object
show all
Extended by:
PPC::API
Defined in:
lib/ppc/api/baidu.rb,
lib/ppc/api/baidu/bulk.rb,
lib/ppc/api/baidu/plan.rb,
lib/ppc/api/baidu/rank.rb,
lib/ppc/api/baidu/group.rb,
lib/ppc/api/baidu/report.rb,
lib/ppc/api/baidu/account.rb,
lib/ppc/api/baidu/keyword.rb,
lib/ppc/api/baidu/creative.rb,
lib/ppc/api/baidu/phone_new_creative.rb

Direct Known Subclasses

Account, Bulk, Creative, Group, Keyword, Phone, Plan, Rank, Report

Defined Under Namespace

Classes: Account, Bulk, Creative, Group, Keyword, Phone, Plan, Rank, Report

Class Method Summary collapse

Methods included from PPC::API

debug_off, debug_on, make_type, process, request, request_http_body, request_http_header, request_uri, reverse_type

Class Method Details

.process(response, key, &func) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/ppc/api/baidu.rb', line 22

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'
  result[:failure] = response['header']['failures']
  result[:result] ||= func[ response['body']['data'] ] rescue nil
  result[:rquota] = response['header']['rquota'] if response['header']['rquota']
  result[:no_quota] = (response['header']['failures']['code'] == '8501') rescue true
  result
end

.request_uri(param) ⇒ Object



18
19
20
# File 'lib/ppc/api/baidu.rb', line 18

def self.request_uri(param)
  URI("https://api.baidu.com/json/sms/service/#{param[:service]}Service/#{param[:method]}")
end