Class: PPC::API::Sm

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

Direct Known Subclasses

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

Defined Under Namespace

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

Class Method Summary collapse

Methods included from PPC::API

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

Class Method Details

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



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

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']
  if !response['body'].nil? && response['body'][key]
    result[:result] = func[ response['body'][key] ]
  end
  result[:no_quota] = is_no_quota(response['header']['failures'], '8501')
  result
end

.request_uri(param = {}) ⇒ Object



15
16
17
# File 'lib/ppc/api/sm.rb', line 15

def self.request_uri(param = {})
  URI("https://e.sm.cn/api/#{param[:service]}/#{param[:method]}")
end

.reverse_type(types, maps = @map) ⇒ Object

process



40
41
42
43
44
45
46
# File 'lib/ppc/api/sm.rb', line 40

def self.reverse_type( types, maps = @map )
  types = [ types ] unless types.is_a? Array
  types.map do |item| 
    maps.each{|m| item.filter_and_replace_key(m[0],m[1].to_s)}
    item
  end
end