Class: PPC::Baidu::Plan

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

Constant Summary

Constants included from PPC

VERSION

Instance Method Summary collapse

Methods inherited from PPC::Baidu

#operations, #request

Constructor Details

#initialize(params = {}) ⇒ Plan

Returns a new instance of Plan.



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

def initialize(params = {})
  params[:service] = 'Campaign'
  @se_id = params[:se_id]
  super(params)
end

Instance Method Details

#add(plans) ⇒ Object

add one or more plans



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

def add(plans)
  if plans.class == Hash
    plans = [plans]
    single = true
  end
  campaignTypes = []

  plans.each do |plan|
    campaignTypes << {
      campaignName: plan[:name],
      negativeWords: plan[:negative],
      exactNegativeWords: plan[:exact_negative]
    }
  end

  options = {campaignTypes:  campaignTypes}
  response = request('addCampaign',options)['campaignTypes']
  if single
    response.first
  else
    response
  end
end

#all(params = {}) ⇒ Object



10
11
12
13
# File 'lib/ppc/baidu/plan.rb', line 10

def all(params = {})
  params[:plan_ids] = [@se_id]
  download(params)
end

#delete(ids) ⇒ Object



78
79
80
81
82
# File 'lib/ppc/baidu/plan.rb', line 78

def delete(ids)
  ids = [ids] unless ids.class == Array
  options = {campaignIds: ids}
  request('deleteCampaign',options)['result'] == 1
end

#get(ids) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/ppc/baidu/plan.rb', line 44

def get(ids)
  if ids.class != Array
    ids = [ids]
    single = true
  end

  options = {campaignIds: ids}
  response = request('getCampaignByCampaignId',options)['campaignTypes']

  if single
    response.first
  else
    response
  end
end

#idsObject



15
16
17
# File 'lib/ppc/baidu/plan.rb', line 15

def ids
  request('getAllCampaignId')['campaignIds']
end

#update(plans) ⇒ Object



73
74
75
76
# File 'lib/ppc/baidu/plan.rb', line 73

def update(plans)
  options = {campaignTypes: plans}
  request('updateCampaign',options)['campaignTypes']
end

#update_by_id(id, params = {}) ⇒ Object



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

def update_by_id(id,params = {})
  params['campaignId'] = id
  options = {campaignTypes: [params]}
  request('updateCampaign',options)['campaignTypes']
end

#updates(params) ⇒ Object



61
62
63
64
65
# File 'lib/ppc/baidu/plan.rb', line 61

def updates(params)
  params['campaignId'] = @se_id
  options = {campaignTypes: [params]}
  request('updateCampaign',options)['campaignTypes']
end