adwords4r 0.7 → 11.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (129) hide show
  1. data/Authors.txt +3 -1
  2. data/ChangeLog.txt +18 -1
  3. data/Rakefile +35 -50
  4. data/Readme.txt +28 -11
  5. data/Todo.txt +1 -9
  6. data/adwords.properties +7 -7
  7. data/examples/campaign.rb +7 -5
  8. data/examples/framework.rb +3 -1
  9. data/examples/get_free_usage_this_month.rb +3 -1
  10. data/examples/get_unit_count.rb +7 -2
  11. data/examples/keyword_tool_demo.rb +5 -2
  12. data/examples/traffic_estimator.rb +5 -2
  13. data/lib/adwords4r.rb +157 -147
  14. data/lib/adwords4r/credentials.rb +36 -36
  15. data/lib/adwords4r/services.rb +24 -32
  16. data/lib/adwords4r/v10/AccountService.rb +234 -0
  17. data/lib/adwords4r/v10/AccountServiceDriver.rb +77 -0
  18. data/lib/adwords4r/v10/AccountServiceMappingRegistry.rb +258 -0
  19. data/lib/adwords4r/v10/AdGroupService.rb +257 -0
  20. data/lib/adwords4r/v10/AdGroupServiceDriver.rb +109 -0
  21. data/lib/adwords4r/v10/AdGroupServiceMappingRegistry.rb +276 -0
  22. data/lib/adwords4r/v10/AdService.rb +757 -0
  23. data/lib/adwords4r/v10/AdServiceDriver.rb +125 -0
  24. data/lib/adwords4r/v10/AdServiceMappingRegistry.rb +805 -0
  25. data/lib/adwords4r/v10/CampaignService.rb +443 -0
  26. data/lib/adwords4r/v10/CampaignServiceDriver.rb +125 -0
  27. data/lib/adwords4r/v10/CampaignServiceMappingRegistry.rb +564 -0
  28. data/lib/adwords4r/v10/CriterionService.rb +442 -0
  29. data/lib/adwords4r/v10/CriterionServiceDriver.rb +117 -0
  30. data/lib/adwords4r/v10/CriterionServiceMappingRegistry.rb +507 -0
  31. data/lib/adwords4r/v10/InfoService.rb +242 -0
  32. data/lib/adwords4r/v10/InfoServiceDriver.rb +109 -0
  33. data/lib/adwords4r/v10/InfoServiceMappingRegistry.rb +228 -0
  34. data/lib/adwords4r/v10/KeywordToolService.rb +205 -0
  35. data/lib/adwords4r/{v6 → v10}/KeywordToolServiceDriver.rb +18 -12
  36. data/lib/adwords4r/v10/KeywordToolServiceMappingRegistry.rb +227 -0
  37. data/lib/adwords4r/{v6 → v10}/ReportService.rb +335 -472
  38. data/lib/adwords4r/v10/ReportServiceDriver.rb +93 -0
  39. data/lib/adwords4r/v10/ReportServiceMappingRegistry.rb +559 -0
  40. data/lib/adwords4r/v10/SiteSuggestionService.rb +242 -0
  41. data/lib/adwords4r/v10/SiteSuggestionServiceDriver.rb +77 -0
  42. data/lib/adwords4r/v10/SiteSuggestionServiceMappingRegistry.rb +271 -0
  43. data/lib/adwords4r/v10/TrafficEstimatorService.rb +312 -0
  44. data/lib/adwords4r/v10/TrafficEstimatorServiceDriver.rb +77 -0
  45. data/lib/adwords4r/v10/TrafficEstimatorServiceMappingRegistry.rb +483 -0
  46. data/lib/adwords4r/v11/AccountService.rb +215 -0
  47. data/lib/adwords4r/v11/AccountServiceDriver.rb +69 -0
  48. data/lib/adwords4r/v11/AccountServiceMappingRegistry.rb +243 -0
  49. data/lib/adwords4r/v11/AdGroupService.rb +257 -0
  50. data/lib/adwords4r/v11/AdGroupServiceDriver.rb +109 -0
  51. data/lib/adwords4r/v11/AdGroupServiceMappingRegistry.rb +276 -0
  52. data/lib/adwords4r/v11/AdService.rb +760 -0
  53. data/lib/adwords4r/v11/AdServiceDriver.rb +125 -0
  54. data/lib/adwords4r/v11/AdServiceMappingRegistry.rb +807 -0
  55. data/lib/adwords4r/v11/CampaignService.rb +443 -0
  56. data/lib/adwords4r/v11/CampaignServiceDriver.rb +125 -0
  57. data/lib/adwords4r/v11/CampaignServiceMappingRegistry.rb +564 -0
  58. data/lib/adwords4r/v11/CriterionService.rb +442 -0
  59. data/lib/adwords4r/v11/CriterionServiceDriver.rb +117 -0
  60. data/lib/adwords4r/v11/CriterionServiceMappingRegistry.rb +507 -0
  61. data/lib/adwords4r/v11/InfoService.rb +242 -0
  62. data/lib/adwords4r/v11/InfoServiceDriver.rb +109 -0
  63. data/lib/adwords4r/v11/InfoServiceMappingRegistry.rb +228 -0
  64. data/lib/adwords4r/v11/KeywordToolService.rb +205 -0
  65. data/lib/adwords4r/{v5 → v11}/KeywordToolServiceDriver.rb +18 -12
  66. data/lib/adwords4r/v11/KeywordToolServiceMappingRegistry.rb +227 -0
  67. data/lib/adwords4r/v11/ReportService.rb +322 -0
  68. data/lib/adwords4r/v11/ReportServiceDriver.rb +101 -0
  69. data/lib/adwords4r/v11/ReportServiceMappingRegistry.rb +298 -0
  70. data/lib/adwords4r/v11/SiteSuggestionService.rb +242 -0
  71. data/lib/adwords4r/v11/SiteSuggestionServiceDriver.rb +77 -0
  72. data/lib/adwords4r/v11/SiteSuggestionServiceMappingRegistry.rb +271 -0
  73. data/lib/adwords4r/v11/TrafficEstimatorService.rb +312 -0
  74. data/lib/adwords4r/v11/TrafficEstimatorServiceDriver.rb +77 -0
  75. data/lib/adwords4r/v11/TrafficEstimatorServiceMappingRegistry.rb +483 -0
  76. metadata +96 -74
  77. data/lib/adwords4r/v4/AccountService.rb +0 -709
  78. data/lib/adwords4r/v4/AccountServiceDriver.rb +0 -174
  79. data/lib/adwords4r/v4/AdGroupService.rb +0 -316
  80. data/lib/adwords4r/v4/AdGroupServiceDriver.rb +0 -97
  81. data/lib/adwords4r/v4/CampaignService.rb +0 -527
  82. data/lib/adwords4r/v4/CampaignServiceDriver.rb +0 -111
  83. data/lib/adwords4r/v4/CreativeService.rb +0 -368
  84. data/lib/adwords4r/v4/CreativeServiceDriver.rb +0 -104
  85. data/lib/adwords4r/v4/CriterionService.rb +0 -411
  86. data/lib/adwords4r/v4/CriterionServiceDriver.rb +0 -97
  87. data/lib/adwords4r/v4/InfoService.rb +0 -260
  88. data/lib/adwords4r/v4/InfoServiceDriver.rb +0 -90
  89. data/lib/adwords4r/v4/KeywordService.rb +0 -543
  90. data/lib/adwords4r/v4/KeywordServiceDriver.rb +0 -125
  91. data/lib/adwords4r/v4/KeywordToolService.rb +0 -227
  92. data/lib/adwords4r/v4/KeywordToolServiceDriver.rb +0 -55
  93. data/lib/adwords4r/v4/ReportService.rb +0 -575
  94. data/lib/adwords4r/v4/ReportServiceDriver.rb +0 -83
  95. data/lib/adwords4r/v4/TrafficEstimatorService.rb +0 -274
  96. data/lib/adwords4r/v4/TrafficEstimatorServiceDriver.rb +0 -62
  97. data/lib/adwords4r/v5/AccountService.rb +0 -853
  98. data/lib/adwords4r/v5/AccountServiceDriver.rb +0 -188
  99. data/lib/adwords4r/v5/AdGroupService.rb +0 -352
  100. data/lib/adwords4r/v5/AdGroupServiceDriver.rb +0 -97
  101. data/lib/adwords4r/v5/CampaignService.rb +0 -563
  102. data/lib/adwords4r/v5/CampaignServiceDriver.rb +0 -111
  103. data/lib/adwords4r/v5/CreativeService.rb +0 -404
  104. data/lib/adwords4r/v5/CreativeServiceDriver.rb +0 -104
  105. data/lib/adwords4r/v5/CriterionService.rb +0 -447
  106. data/lib/adwords4r/v5/CriterionServiceDriver.rb +0 -97
  107. data/lib/adwords4r/v5/InfoService.rb +0 -296
  108. data/lib/adwords4r/v5/InfoServiceDriver.rb +0 -90
  109. data/lib/adwords4r/v5/KeywordToolService.rb +0 -263
  110. data/lib/adwords4r/v5/ReportService.rb +0 -788
  111. data/lib/adwords4r/v5/ReportServiceDriver.rb +0 -83
  112. data/lib/adwords4r/v5/TrafficEstimatorService.rb +0 -310
  113. data/lib/adwords4r/v5/TrafficEstimatorServiceDriver.rb +0 -62
  114. data/lib/adwords4r/v6/AccountService.rb +0 -853
  115. data/lib/adwords4r/v6/AccountServiceDriver.rb +0 -188
  116. data/lib/adwords4r/v6/AdGroupService.rb +0 -352
  117. data/lib/adwords4r/v6/AdGroupServiceDriver.rb +0 -97
  118. data/lib/adwords4r/v6/CampaignService.rb +0 -563
  119. data/lib/adwords4r/v6/CampaignServiceDriver.rb +0 -111
  120. data/lib/adwords4r/v6/CreativeService.rb +0 -472
  121. data/lib/adwords4r/v6/CreativeServiceDriver.rb +0 -111
  122. data/lib/adwords4r/v6/CriterionService.rb +0 -447
  123. data/lib/adwords4r/v6/CriterionServiceDriver.rb +0 -97
  124. data/lib/adwords4r/v6/InfoService.rb +0 -343
  125. data/lib/adwords4r/v6/InfoServiceDriver.rb +0 -97
  126. data/lib/adwords4r/v6/KeywordToolService.rb +0 -263
  127. data/lib/adwords4r/v6/ReportServiceDriver.rb +0 -83
  128. data/lib/adwords4r/v6/TrafficEstimatorService.rb +0 -310
  129. data/lib/adwords4r/v6/TrafficEstimatorServiceDriver.rb +0 -62
@@ -2,42 +2,42 @@ require 'soap/header/simplehandler'
2
2
 
3
3
  module AdWords
4
4
 
5
- class HeaderHandler < SOAP::Header::SimpleHandler
6
- def initialize(tag, value)
7
- super(XSD::QName.new(nil, tag))
8
- @tag = tag
9
- @value = value
10
- end
11
-
12
- #the initial handler from the sample was wrong, it generated 2 level of tags
13
- def on_simple_outbound
14
- @value
15
- end
5
+ class HeaderHandler < SOAP::Header::SimpleHandler
6
+ def initialize(tag, value)
7
+ super(XSD::QName.new(nil, tag))
8
+ @tag = tag
9
+ @value = value
16
10
  end
17
-
18
- class AdWordsCredentials
19
- attr_reader :handlers, :alternateUrl
20
-
21
- def getDefaults()
22
- cred = Hash.new
23
- IO.foreach("#{ENV['HOME']}/adwords.properties") {|line| addCredential(cred, line.split('=')) if !(line =~ /^#/)}
24
- return cred
25
- end
26
-
27
- def addCredential(cred, arr)
28
- cred[arr[0]] = arr[1].strip
29
- end
30
-
31
- def initialize(*parm)
32
- @handlers = []
33
- @alternateUrl = nil
34
- if parm[0]
35
- credentials = parm[0]
36
- else
37
- credentials = getDefaults()
38
- end
39
- credentials.each {|key, value| @handlers << HeaderHandler.new(key, value) if !(key =~ /^alternateUrl/)}
40
- @alternateUrl = credentials['alternateUrl']
41
- end
11
+
12
+ #the initial handler from the sample was wrong, it generated 2 level of tags
13
+ def on_simple_outbound
14
+ @value
15
+ end
16
+ end
17
+
18
+ class AdWordsCredentials
19
+ attr_reader :handlers, :alternateUrl
20
+
21
+ def getDefaults()
22
+ cred = Hash.new
23
+ IO.foreach("#{ENV['HOME']}/adwords.properties") {|line| addCredential(cred, line.split('=')) if !(line =~ /^#/)}
24
+ return cred
25
+ end
26
+
27
+ def addCredential(cred, arr)
28
+ cred[arr[0]] = arr[1].strip
29
+ end
30
+
31
+ def initialize(*parm)
32
+ @handlers = []
33
+ @alternateUrl = nil
34
+ if parm[0]
35
+ credentials = parm[0]
36
+ else
37
+ credentials = getDefaults()
38
+ end
39
+ credentials.each {|key, value| @handlers << HeaderHandler.new(key, value) if !(key =~ /^alternateUrl/)}
40
+ @alternateUrl = credentials['alternateUrl']
42
41
  end
42
+ end
43
43
  end
@@ -1,37 +1,29 @@
1
1
  module AdWords
2
+ class Service
2
3
 
3
- class Service
4
-
5
- @@services = {
6
- 4 => ['Creative', 'Keyword', 'Criterion', 'AdGroup', 'Campaign', 'TrafficEstimator', 'Report', 'Info', 'Account', 'KeywordTool'],
7
- 5 => ['Creative', 'Criterion', 'AdGroup', 'Campaign', 'TrafficEstimator', 'Report', 'Info', 'Account', 'KeywordTool'],
8
- 6 => ['Creative', 'Criterion', 'AdGroup', 'Campaign', 'TrafficEstimator', 'Report', 'Info', 'Account', 'KeywordTool']
9
- }
10
-
11
- def Service.getVersions
12
- @@services.keys
13
- end
4
+ @services = {
5
+ 10 => ["Account", "AdGroup", "Ad", "Campaign", "Criterion", "Info", "KeywordTool", "Report", "SiteSuggestion", "TrafficEstimator"],
6
+ 11 => ["Account", "AdGroup", "Ad", "Campaign", "Criterion", "Info", "KeywordTool", "Report", "SiteSuggestion", "TrafficEstimator"]
7
+ }
14
8
 
15
- def Service.getServices(version)
16
- @@services[version]
17
- end
18
-
19
- def Service.doRequire(version)
20
- req = []
21
- Service.getServices(version).each {|s| req << "require 'adwords4r/v#{version}/#{s}ServiceDriver'"}
22
- req.each {|r| eval(r)}
23
- end
24
-
25
- def Service.getService(version, method)
26
-
27
- end
28
-
29
- def Service.getMethodMap(drivers)
30
- #Service.getVersions.each do |v|
31
- methodMap = Hash.new
32
- drivers.each_value {|d| d.class::Methods.each {|m| methodMap[m[1]] = d}}
33
- return methodMap
34
- end
9
+ def self.getVersions
10
+ @services.keys
35
11
  end
36
-
12
+
13
+ def self.getServices(version)
14
+ @services[version]
15
+ end
16
+
17
+ def self.doRequire(version)
18
+ getServices(version).each do |s|
19
+ eval("require 'adwords4r/v#{version}/#{s}ServiceDriver'")
20
+ end
21
+ end
22
+
23
+ def self.getMethodMap(drivers)
24
+ methodMap = Hash.new
25
+ drivers.each_value {|d| d.class::Methods.each {|m| methodMap[m[1]] = d}}
26
+ return methodMap
27
+ end
28
+ end
37
29
  end
@@ -0,0 +1,234 @@
1
+ require 'xsd/qname'
2
+
3
+ module AdWords; module AccountService
4
+
5
+
6
+ # {https://adwords.google.com/api/adwords/v10}AccountInfo
7
+ # billingAddress - AdWords::AccountService::Address
8
+ # currencyCode - SOAP::SOAPString
9
+ # customerId - SOAP::SOAPLong
10
+ # defaultNetworkTargeting - AdWords::AccountService::NetworkTarget
11
+ # descriptiveName - SOAP::SOAPString
12
+ # emailPromotionsPreferences - AdWords::AccountService::EmailPromotionsPreferences
13
+ # languagePreference - SOAP::SOAPString
14
+ # primaryAddress - AdWords::AccountService::Address
15
+ # primaryBusinessCategory - SOAP::SOAPString
16
+ # timeZoneEffectiveDate - SOAP::SOAPLong
17
+ # timeZoneId - SOAP::SOAPString
18
+ class AccountInfo
19
+ attr_accessor :billingAddress
20
+ attr_accessor :currencyCode
21
+ attr_accessor :customerId
22
+ attr_accessor :defaultNetworkTargeting
23
+ attr_accessor :descriptiveName
24
+ attr_accessor :emailPromotionsPreferences
25
+ attr_accessor :languagePreference
26
+ attr_accessor :primaryAddress
27
+ attr_accessor :primaryBusinessCategory
28
+ attr_accessor :timeZoneEffectiveDate
29
+ attr_accessor :timeZoneId
30
+
31
+ def initialize(billingAddress = nil, currencyCode = nil, customerId = nil, defaultNetworkTargeting = nil, descriptiveName = nil, emailPromotionsPreferences = nil, languagePreference = nil, primaryAddress = nil, primaryBusinessCategory = nil, timeZoneEffectiveDate = nil, timeZoneId = nil)
32
+ @billingAddress = billingAddress
33
+ @currencyCode = currencyCode
34
+ @customerId = customerId
35
+ @defaultNetworkTargeting = defaultNetworkTargeting
36
+ @descriptiveName = descriptiveName
37
+ @emailPromotionsPreferences = emailPromotionsPreferences
38
+ @languagePreference = languagePreference
39
+ @primaryAddress = primaryAddress
40
+ @primaryBusinessCategory = primaryBusinessCategory
41
+ @timeZoneEffectiveDate = timeZoneEffectiveDate
42
+ @timeZoneId = timeZoneId
43
+ end
44
+ end
45
+
46
+ # {https://adwords.google.com/api/adwords/v10}Address
47
+ # addressLine1 - SOAP::SOAPString
48
+ # addressLine2 - SOAP::SOAPString
49
+ # city - SOAP::SOAPString
50
+ # companyName - SOAP::SOAPString
51
+ # countryCode - SOAP::SOAPString
52
+ # emailAddress - SOAP::SOAPString
53
+ # faxNumber - SOAP::SOAPString
54
+ # name - SOAP::SOAPString
55
+ # phoneNumber - SOAP::SOAPString
56
+ # postalCode - SOAP::SOAPString
57
+ # state - SOAP::SOAPString
58
+ class Address
59
+ attr_accessor :addressLine1
60
+ attr_accessor :addressLine2
61
+ attr_accessor :city
62
+ attr_accessor :companyName
63
+ attr_accessor :countryCode
64
+ attr_accessor :emailAddress
65
+ attr_accessor :faxNumber
66
+ attr_accessor :name
67
+ attr_accessor :phoneNumber
68
+ attr_accessor :postalCode
69
+ attr_accessor :state
70
+
71
+ def initialize(addressLine1 = nil, addressLine2 = nil, city = nil, companyName = nil, countryCode = nil, emailAddress = nil, faxNumber = nil, name = nil, phoneNumber = nil, postalCode = nil, state = nil)
72
+ @addressLine1 = addressLine1
73
+ @addressLine2 = addressLine2
74
+ @city = city
75
+ @companyName = companyName
76
+ @countryCode = countryCode
77
+ @emailAddress = emailAddress
78
+ @faxNumber = faxNumber
79
+ @name = name
80
+ @phoneNumber = phoneNumber
81
+ @postalCode = postalCode
82
+ @state = state
83
+ end
84
+ end
85
+
86
+ # {https://adwords.google.com/api/adwords/v10}ApiError
87
+ # code - SOAP::SOAPInt
88
+ # detail - SOAP::SOAPString
89
+ # field - SOAP::SOAPString
90
+ # index - SOAP::SOAPInt
91
+ # isExemptable - SOAP::SOAPBoolean
92
+ # textIndex - SOAP::SOAPInt
93
+ # textLength - SOAP::SOAPInt
94
+ # trigger - SOAP::SOAPString
95
+ class ApiError
96
+ attr_accessor :code
97
+ attr_accessor :detail
98
+ attr_accessor :field
99
+ attr_accessor :index
100
+ attr_accessor :isExemptable
101
+ attr_accessor :textIndex
102
+ attr_accessor :textLength
103
+ attr_accessor :trigger
104
+
105
+ def initialize(code = nil, detail = nil, field = nil, index = nil, isExemptable = nil, textIndex = nil, textLength = nil, trigger = nil)
106
+ @code = code
107
+ @detail = detail
108
+ @field = field
109
+ @index = index
110
+ @isExemptable = isExemptable
111
+ @textIndex = textIndex
112
+ @textLength = textLength
113
+ @trigger = trigger
114
+ end
115
+ end
116
+
117
+ # {https://adwords.google.com/api/adwords/v10}ApiException
118
+ # code - SOAP::SOAPInt
119
+ # errors - AdWords::AccountService::ApiError
120
+ # internal - SOAP::SOAPBoolean
121
+ # message - SOAP::SOAPString
122
+ # trigger - SOAP::SOAPString
123
+ class ApiException
124
+ attr_accessor :code
125
+ attr_accessor :errors
126
+ attr_accessor :internal
127
+ attr_accessor :message
128
+ attr_accessor :trigger
129
+
130
+ def initialize(code = nil, errors = [], internal = nil, message = nil, trigger = nil)
131
+ @code = code
132
+ @errors = errors
133
+ @internal = internal
134
+ @message = message
135
+ @trigger = trigger
136
+ end
137
+ end
138
+
139
+ # {https://adwords.google.com/api/adwords/v10}EmailPromotionsPreferences
140
+ # accountPerformanceEnabled - SOAP::SOAPBoolean
141
+ # disapprovedAdsEnabled - SOAP::SOAPBoolean
142
+ # marketResearchEnabled - SOAP::SOAPBoolean
143
+ # newsletterEnabled - SOAP::SOAPBoolean
144
+ # promotionsEnabled - SOAP::SOAPBoolean
145
+ class EmailPromotionsPreferences
146
+ attr_accessor :accountPerformanceEnabled
147
+ attr_accessor :disapprovedAdsEnabled
148
+ attr_accessor :marketResearchEnabled
149
+ attr_accessor :newsletterEnabled
150
+ attr_accessor :promotionsEnabled
151
+
152
+ def initialize(accountPerformanceEnabled = nil, disapprovedAdsEnabled = nil, marketResearchEnabled = nil, newsletterEnabled = nil, promotionsEnabled = nil)
153
+ @accountPerformanceEnabled = accountPerformanceEnabled
154
+ @disapprovedAdsEnabled = disapprovedAdsEnabled
155
+ @marketResearchEnabled = marketResearchEnabled
156
+ @newsletterEnabled = newsletterEnabled
157
+ @promotionsEnabled = promotionsEnabled
158
+ end
159
+ end
160
+
161
+ # {https://adwords.google.com/api/adwords/v10}NetworkTarget
162
+ class NetworkTarget < ::Array
163
+ end
164
+
165
+ # {https://adwords.google.com/api/adwords/v10}NetworkType
166
+ class NetworkType < ::String
167
+ ContentNetwork = NetworkType.new("ContentNetwork")
168
+ GoogleSearch = NetworkType.new("GoogleSearch")
169
+ SearchNetwork = NetworkType.new("SearchNetwork")
170
+ end
171
+
172
+ # {https://adwords.google.com/api/adwords/v10}getAccountInfo
173
+ class GetAccountInfo
174
+ def initialize
175
+ end
176
+ end
177
+
178
+ # {https://adwords.google.com/api/adwords/v10}getAccountInfoResponse
179
+ # getAccountInfoReturn - AdWords::AccountService::AccountInfo
180
+ class GetAccountInfoResponse
181
+ attr_accessor :getAccountInfoReturn
182
+
183
+ def initialize(getAccountInfoReturn = nil)
184
+ @getAccountInfoReturn = getAccountInfoReturn
185
+ end
186
+ end
187
+
188
+ # {https://adwords.google.com/api/adwords/v10}getClientAccounts
189
+ class GetClientAccounts
190
+ def initialize
191
+ end
192
+ end
193
+
194
+ # {https://adwords.google.com/api/adwords/v10}getClientAccountsResponse
195
+ class GetClientAccountsResponse < ::Array
196
+ end
197
+
198
+ # {https://adwords.google.com/api/adwords/v10}setLoginInfo
199
+ # login - SOAP::SOAPString
200
+ # newPassword - SOAP::SOAPString
201
+ class SetLoginInfo
202
+ attr_accessor :login
203
+ attr_accessor :newPassword
204
+
205
+ def initialize(login = nil, newPassword = nil)
206
+ @login = login
207
+ @newPassword = newPassword
208
+ end
209
+ end
210
+
211
+ # {https://adwords.google.com/api/adwords/v10}setLoginInfoResponse
212
+ class SetLoginInfoResponse
213
+ def initialize
214
+ end
215
+ end
216
+
217
+ # {https://adwords.google.com/api/adwords/v10}updateAccountInfo
218
+ # accountInfo - AdWords::AccountService::AccountInfo
219
+ class UpdateAccountInfo
220
+ attr_accessor :accountInfo
221
+
222
+ def initialize(accountInfo = nil)
223
+ @accountInfo = accountInfo
224
+ end
225
+ end
226
+
227
+ # {https://adwords.google.com/api/adwords/v10}updateAccountInfoResponse
228
+ class UpdateAccountInfoResponse
229
+ def initialize
230
+ end
231
+ end
232
+
233
+
234
+ end; end
@@ -0,0 +1,77 @@
1
+ require 'adwords4r/v10/AccountService'
2
+ require 'adwords4r/v10/AccountServiceMappingRegistry'
3
+ require 'soap/rpc/driver'
4
+
5
+ module AdWords
6
+ module AccountService
7
+
8
+ class AccountInterface < ::SOAP::RPC::Driver
9
+ DefaultEndpointUrl = "https://adwords.google.com/api/adwords/v10/AccountService"
10
+
11
+ Methods = [
12
+ [ "",
13
+ "getAccountInfo",
14
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "getAccountInfo"]],
15
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "getAccountInfoResponse"]] ],
16
+ { :request_style => :document, :request_use => :literal,
17
+ :response_style => :document, :response_use => :literal,
18
+ :faults => {"AdWords::AccountService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v10", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
19
+ ],
20
+ [ "",
21
+ "getClientAccounts",
22
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "getClientAccounts"]],
23
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "getClientAccountsResponse"]] ],
24
+ { :request_style => :document, :request_use => :literal,
25
+ :response_style => :document, :response_use => :literal,
26
+ :faults => {"AdWords::AccountService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v10", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
27
+ ],
28
+ [ "",
29
+ "setLoginInfo",
30
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "setLoginInfo"]],
31
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "setLoginInfoResponse"]] ],
32
+ { :request_style => :document, :request_use => :literal,
33
+ :response_style => :document, :response_use => :literal,
34
+ :faults => {"AdWords::AccountService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v10", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
35
+ ],
36
+ [ "",
37
+ "updateAccountInfo",
38
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "updateAccountInfo"]],
39
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "updateAccountInfoResponse"]] ],
40
+ { :request_style => :document, :request_use => :literal,
41
+ :response_style => :document, :response_use => :literal,
42
+ :faults => {"AdWords::AccountService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v10", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
43
+ ]
44
+ ]
45
+
46
+ def initialize(endpoint_url = nil)
47
+ endpoint_url ||= DefaultEndpointUrl
48
+ super(endpoint_url, nil)
49
+ self.mapping_registry = DefaultMappingRegistry::EncodedRegistry
50
+ self.literal_mapping_registry = DefaultMappingRegistry::LiteralRegistry
51
+ init_methods
52
+ end
53
+
54
+ private
55
+
56
+ def init_methods
57
+ Methods.each do |definitions|
58
+ opt = definitions.last
59
+ if opt[:request_style] == :document
60
+ add_document_operation(*definitions)
61
+ else
62
+ add_rpc_operation(*definitions)
63
+ qname = definitions[0]
64
+ name = definitions[2]
65
+ if qname.name != name and qname.name.capitalize == name.capitalize
66
+ ::SOAP::Mapping.define_singleton_method(self, qname.name) do |*arg|
67
+ __send__(name, *arg)
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
74
+
75
+
76
+ end
77
+ end