Class: PPC::Baidu::Group

Inherits:
PPC::Baidu show all
Defined in:
lib/ppc/baidu/group.rb

Constant Summary

Constants included from PPC

VERSION

Instance Method Summary collapse

Methods inherited from PPC::Baidu

#operations, #request

Constructor Details

#initialize(params = {}) ⇒ Group

Returns a new instance of Group.



4
5
6
7
# File 'lib/ppc/baidu/group.rb', line 4

def initialize(params = {})
  params[:service] = 'Adgroup'
  super(params)
end

Instance Method Details

#add(params = {}, test = false) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/ppc/baidu/group.rb', line 16

def add( params={}, test = false)
  """
  @ input : one or list of AdgroupType
  @ output : list of AdgroupType
  """       
  params = [ params ] unless params.class == Array
  adgroupType = []
  
  params.each{  | group_i |
    adgroupType << make_adgrouptype( group_i ) 
  }

  body = {adgroupTypes: adgroupType}
  response = request( "addAdgroup", body, test )
  return response['adgroupTypes'] unless test else response
end

#allObject



9
10
11
12
13
14
# File 'lib/ppc/baidu/group.rb', line 9

def all()
  """
  @return : Array of campaignAdgroupIds
  """
  request( "getAllAdgroupId" )["campaignAdgroupIds"]
end

#delete(ids) ⇒ Object



50
51
52
53
54
55
56
57
# File 'lib/ppc/baidu/group.rb', line 50

def delete( ids )
  # delete responses have no content therefore we 
  #return header.desc to judge whether operation success
  ids = [ ids ] unless ids.class == Array
  
  body = { adgroupIds: ids }
  request( "deleteAdgroup", body, true )[ 'header' ][ 'desc' ]
end

#search_by_groupid(ids, test = false) ⇒ Object



66
67
68
69
70
71
# File 'lib/ppc/baidu/group.rb', line 66

def search_by_groupid( ids, test = false )
  ids = [ ids ] unless ids.class == Array
  body = { adgroupIds: ids }
  responses = request("getAdgroupByAdgroupId",body, test )
  return responses["adgroupTypes"]  unless test else responses
end

#search_by_planid(ids, test = false) ⇒ Object



59
60
61
62
63
64
# File 'lib/ppc/baidu/group.rb', line 59

def search_by_planid( ids, test = false )
  ids = [ ids ] unless ids.class == Array
  body = { campaignIds: ids }
  responses = request("getAdgroupByCampaignId",  body, test )
  return responses["campaignAdgroups"]  unless test else responses
end

#update(params = {}, test = false) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/ppc/baidu/group.rb', line 33

def update( params={}, test = false )
  """
  @ input : one or list of AdgroupType
  @ output : list of AdgroupType
  """
  params = [ params ] unless params.class == Array
  adgroupType = []
  
  params.each{  | group_i |
    adgroupType << make_adgrouptype( group_i ) 
  }

  body = {adgroupTypes: adgroupType}
  responses = request( "updateAdgroup", body, test )
  return responses['adgroupTypes'] unless test else responses
end