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
@@ -1,83 +0,0 @@
1
- module AdWords
2
- require 'adwords4r/v5/ReportService'
3
-
4
- require 'soap/rpc/driver'
5
-
6
- class ReportServiceInterface < ::SOAP::RPC::Driver
7
- DefaultEndpointUrl = "https://adwords.google.com/api/adwords/v5/ReportService"
8
- MappingRegistry = ::SOAP::Mapping::Registry.new
9
-
10
- Methods = [
11
- [ "",
12
- "scheduleReportJob",
13
- [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "scheduleReportJob"], true],
14
- ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "scheduleReportJobResponse"], true] ],
15
- { :request_style => :document, :request_use => :literal,
16
- :response_style => :document, :response_use => :literal }
17
- ],
18
- [ "",
19
- "getReportJobStatus",
20
- [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "getReportJobStatus"], true],
21
- ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "getReportJobStatusResponse"], true] ],
22
- { :request_style => :document, :request_use => :literal,
23
- :response_style => :document, :response_use => :literal }
24
- ],
25
- [ "",
26
- "getReportDownloadUrl",
27
- [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "getReportDownloadUrl"], true],
28
- ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "getReportDownloadUrlResponse"], true] ],
29
- { :request_style => :document, :request_use => :literal,
30
- :response_style => :document, :response_use => :literal }
31
- ],
32
- [ "",
33
- "getGzipReportDownloadUrl",
34
- [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "getGzipReportDownloadUrl"], true],
35
- ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "getGzipReportDownloadUrlResponse"], true] ],
36
- { :request_style => :document, :request_use => :literal,
37
- :response_style => :document, :response_use => :literal }
38
- ],
39
- [ "",
40
- "getAllJobs",
41
- [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "getAllJobs"], true],
42
- ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "getAllJobsResponse"], true] ],
43
- { :request_style => :document, :request_use => :literal,
44
- :response_style => :document, :response_use => :literal }
45
- ],
46
- [ "",
47
- "deleteReport",
48
- [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "deleteReport"], true],
49
- ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "deleteReportResponse"], true] ],
50
- { :request_style => :document, :request_use => :literal,
51
- :response_style => :document, :response_use => :literal }
52
- ]
53
- ]
54
-
55
- def initialize(endpoint_url = nil)
56
- endpoint_url ||= DefaultEndpointUrl
57
- super(endpoint_url, nil)
58
- self.mapping_registry = MappingRegistry
59
- init_methods
60
- end
61
-
62
- private
63
-
64
- def init_methods
65
- Methods.each do |definitions|
66
- opt = definitions.last
67
- if opt[:request_style] == :document
68
- add_document_operation(*definitions)
69
- else
70
- add_rpc_operation(*definitions)
71
- qname = definitions[0]
72
- name = definitions[2]
73
- if qname.name != name and qname.name.capitalize == name.capitalize
74
- ::SOAP::Mapping.define_singleton_method(self, qname.name) do |*arg|
75
- __send__(name, *arg)
76
- end
77
- end
78
- end
79
- end
80
- end
81
- end
82
-
83
- end
@@ -1,310 +0,0 @@
1
- module AdWords
2
- require 'xsd/qname'
3
-
4
- # {https://adwords.google.com/api/adwords/v5}estimateCampaignList
5
- class EstimateCampaignList < ::Array
6
- @@schema_element = [
7
- ["campaignRequests", ["CampaignRequest[]", XSD::QName.new("https://adwords.google.com/api/adwords/v5", "campaignRequests")]]
8
- ]
9
- end
10
-
11
- # {https://adwords.google.com/api/adwords/v5}estimateCampaignListResponse
12
- class EstimateCampaignListResponse < ::Array
13
- @@schema_element = [
14
- ["estimateCampaignListReturn", ["CampaignEstimate[]", XSD::QName.new("https://adwords.google.com/api/adwords/v5", "estimateCampaignListReturn")]]
15
- ]
16
- end
17
-
18
- # {https://adwords.google.com/api/adwords/v5}estimateAdGroupList
19
- class EstimateAdGroupList < ::Array
20
- @@schema_element = [
21
- ["adGroupRequests", ["AdGroupRequest[]", XSD::QName.new("https://adwords.google.com/api/adwords/v5", "adGroupRequests")]]
22
- ]
23
- end
24
-
25
- # {https://adwords.google.com/api/adwords/v5}estimateAdGroupListResponse
26
- class EstimateAdGroupListResponse < ::Array
27
- @@schema_element = [
28
- ["estimateAdGroupListReturn", ["AdGroupEstimate[]", XSD::QName.new("https://adwords.google.com/api/adwords/v5", "estimateAdGroupListReturn")]]
29
- ]
30
- end
31
-
32
- # {https://adwords.google.com/api/adwords/v5}estimateKeywordList
33
- class EstimateKeywordList < ::Array
34
- @@schema_element = [
35
- ["keywordRequests", ["KeywordRequest[]", XSD::QName.new("https://adwords.google.com/api/adwords/v5", "keywordRequests")]]
36
- ]
37
- end
38
-
39
- # {https://adwords.google.com/api/adwords/v5}estimateKeywordListResponse
40
- class EstimateKeywordListResponse < ::Array
41
- @@schema_element = [
42
- ["estimateKeywordListReturn", ["KeywordEstimate[]", XSD::QName.new("https://adwords.google.com/api/adwords/v5", "estimateKeywordListReturn")]]
43
- ]
44
- end
45
-
46
- # {https://adwords.google.com/api/adwords/v5}ApiException
47
- class ApiException
48
- @@schema_type = "ApiException"
49
- @@schema_ns = "https://adwords.google.com/api/adwords/v5"
50
- @@schema_element = [
51
- ["code", "SOAP::SOAPInt"],
52
- ["internal", "SOAP::SOAPBoolean"],
53
- ["message", "SOAP::SOAPString"],
54
- ["trigger", "SOAP::SOAPString"],
55
- ["errors", "ApiError[]"]
56
- ]
57
-
58
- attr_accessor :code
59
- attr_accessor :internal
60
- attr_accessor :message
61
- attr_accessor :trigger
62
- attr_accessor :errors
63
-
64
- def initialize(code = nil, internal = nil, message = nil, trigger = nil, errors = [])
65
- @code = code
66
- @internal = internal
67
- @message = message
68
- @trigger = trigger
69
- @errors = errors
70
- end
71
- end
72
-
73
- # {https://adwords.google.com/api/adwords/v5}ApiError
74
- class ApiError
75
- @@schema_type = "ApiError"
76
- @@schema_ns = "https://adwords.google.com/api/adwords/v5"
77
- @@schema_element = [
78
- ["index", "SOAP::SOAPInt"],
79
- ["field", "SOAP::SOAPString"],
80
- ["textIndex", "SOAP::SOAPInt"],
81
- ["textLength", "SOAP::SOAPInt"],
82
- ["trigger", "SOAP::SOAPString"],
83
- ["code", "SOAP::SOAPInt"],
84
- ["isExemptable", "SOAP::SOAPBoolean"],
85
- ["detail", "SOAP::SOAPString"]
86
- ]
87
-
88
- attr_accessor :index
89
- attr_accessor :field
90
- attr_accessor :textIndex
91
- attr_accessor :textLength
92
- attr_accessor :trigger
93
- attr_accessor :code
94
- attr_accessor :isExemptable
95
- attr_accessor :detail
96
-
97
- def initialize(index = nil, field = nil, textIndex = nil, textLength = nil, trigger = nil, code = nil, isExemptable = nil, detail = nil)
98
- @index = index
99
- @field = field
100
- @textIndex = textIndex
101
- @textLength = textLength
102
- @trigger = trigger
103
- @code = code
104
- @isExemptable = isExemptable
105
- @detail = detail
106
- end
107
- end
108
-
109
- # {https://adwords.google.com/api/adwords/v5}CampaignRequest
110
- class CampaignRequest
111
- @@schema_type = "CampaignRequest"
112
- @@schema_ns = "https://adwords.google.com/api/adwords/v5"
113
- @@schema_element = [
114
- ["adGroupRequests", "AdGroupRequest[]"],
115
- ["geoTargeting", "GeoTarget"],
116
- ["id", "SOAP::SOAPInt"],
117
- ["languageTargeting", "LanguageTarget"],
118
- ["networkTargeting", "NetworkTarget"]
119
- ]
120
-
121
- attr_accessor :adGroupRequests
122
- attr_accessor :geoTargeting
123
- attr_accessor :id
124
- attr_accessor :languageTargeting
125
- attr_accessor :networkTargeting
126
-
127
- def initialize(adGroupRequests = [], geoTargeting = nil, id = nil, languageTargeting = nil, networkTargeting = nil)
128
- @adGroupRequests = adGroupRequests
129
- @geoTargeting = geoTargeting
130
- @id = id
131
- @languageTargeting = languageTargeting
132
- @networkTargeting = networkTargeting
133
- end
134
- end
135
-
136
- # {https://adwords.google.com/api/adwords/v5}AdGroupRequest
137
- class AdGroupRequest
138
- @@schema_type = "AdGroupRequest"
139
- @@schema_ns = "https://adwords.google.com/api/adwords/v5"
140
- @@schema_element = [
141
- ["id", "SOAP::SOAPInt"],
142
- ["keywordRequests", "KeywordRequest[]"],
143
- ["maxCpc", "SOAP::SOAPLong"]
144
- ]
145
-
146
- attr_accessor :id
147
- attr_accessor :keywordRequests
148
- attr_accessor :maxCpc
149
-
150
- def initialize(id = nil, keywordRequests = [], maxCpc = nil)
151
- @id = id
152
- @keywordRequests = keywordRequests
153
- @maxCpc = maxCpc
154
- end
155
- end
156
-
157
- # {https://adwords.google.com/api/adwords/v5}KeywordRequest
158
- class KeywordRequest
159
- @@schema_type = "KeywordRequest"
160
- @@schema_ns = "https://adwords.google.com/api/adwords/v5"
161
- @@schema_element = [
162
- ["id", "SOAP::SOAPLong"],
163
- ["maxCpc", "SOAP::SOAPLong"],
164
- ["negative", "SOAP::SOAPBoolean"],
165
- ["text", "SOAP::SOAPString"],
166
- ["type", "SOAP::SOAPString"]
167
- ]
168
-
169
- attr_accessor :id
170
- attr_accessor :maxCpc
171
- attr_accessor :negative
172
- attr_accessor :text
173
- attr_accessor :type
174
-
175
- def initialize(id = nil, maxCpc = nil, negative = nil, text = nil, type = nil)
176
- @id = id
177
- @maxCpc = maxCpc
178
- @negative = negative
179
- @text = text
180
- @type = type
181
- end
182
- end
183
-
184
- # {https://adwords.google.com/api/adwords/v5}GeoTarget
185
- class GeoTarget
186
- @@schema_type = "GeoTarget"
187
- @@schema_ns = "https://adwords.google.com/api/adwords/v5"
188
- @@schema_element = [
189
- ["cities", "SOAP::SOAPString[]"],
190
- ["countries", "SOAP::SOAPString[]"],
191
- ["metros", "SOAP::SOAPString[]"],
192
- ["regions", "SOAP::SOAPString[]"]
193
- ]
194
-
195
- attr_accessor :cities
196
- attr_accessor :countries
197
- attr_accessor :metros
198
- attr_accessor :regions
199
-
200
- def initialize(cities = [], countries = [], metros = [], regions = [])
201
- @cities = cities
202
- @countries = countries
203
- @metros = metros
204
- @regions = regions
205
- end
206
- end
207
-
208
- # {https://adwords.google.com/api/adwords/v5}LanguageTarget
209
- class LanguageTarget < ::Array
210
- @@schema_element = [
211
- ["languages", ["SOAP::SOAPString[]", XSD::QName.new("https://adwords.google.com/api/adwords/v5", "languages")]]
212
- ]
213
- end
214
-
215
- # {https://adwords.google.com/api/adwords/v5}NetworkTarget
216
- class NetworkTarget < ::Array
217
- @@schema_element = [
218
- ["networkTypes", ["SOAP::SOAPString[]", XSD::QName.new("https://adwords.google.com/api/adwords/v5", "networkTypes")]]
219
- ]
220
- end
221
-
222
- # {https://adwords.google.com/api/adwords/v5}CampaignEstimate
223
- class CampaignEstimate
224
- @@schema_type = "CampaignEstimate"
225
- @@schema_ns = "https://adwords.google.com/api/adwords/v5"
226
- @@schema_element = [
227
- ["adGroupEstimates", "AdGroupEstimate[]"],
228
- ["id", "SOAP::SOAPInt"]
229
- ]
230
-
231
- attr_accessor :adGroupEstimates
232
- attr_accessor :id
233
-
234
- def initialize(adGroupEstimates = [], id = nil)
235
- @adGroupEstimates = adGroupEstimates
236
- @id = id
237
- end
238
- end
239
-
240
- # {https://adwords.google.com/api/adwords/v5}AdGroupEstimate
241
- class AdGroupEstimate
242
- @@schema_type = "AdGroupEstimate"
243
- @@schema_ns = "https://adwords.google.com/api/adwords/v5"
244
- @@schema_element = [
245
- ["id", "SOAP::SOAPInt"],
246
- ["keywordEstimates", "KeywordEstimate[]"]
247
- ]
248
-
249
- attr_accessor :id
250
- attr_accessor :keywordEstimates
251
-
252
- def initialize(id = nil, keywordEstimates = [])
253
- @id = id
254
- @keywordEstimates = keywordEstimates
255
- end
256
- end
257
-
258
- # {https://adwords.google.com/api/adwords/v5}KeywordEstimate
259
- class KeywordEstimate
260
- @@schema_type = "KeywordEstimate"
261
- @@schema_ns = "https://adwords.google.com/api/adwords/v5"
262
- @@schema_element = [
263
- ["lowerAvgPosition", "Float"],
264
- ["upperAvgPosition", "Float"],
265
- ["lowerClicksPerDay", "Float"],
266
- ["upperClicksPerDay", "Float"],
267
- ["lowerCpc", "SOAP::SOAPLong"],
268
- ["upperCpc", "SOAP::SOAPLong"],
269
- ["id", "SOAP::SOAPLong"]
270
- ]
271
-
272
- attr_accessor :lowerAvgPosition
273
- attr_accessor :upperAvgPosition
274
- attr_accessor :lowerClicksPerDay
275
- attr_accessor :upperClicksPerDay
276
- attr_accessor :lowerCpc
277
- attr_accessor :upperCpc
278
- attr_accessor :id
279
-
280
- def initialize(lowerAvgPosition = nil, upperAvgPosition = nil, lowerClicksPerDay = nil, upperClicksPerDay = nil, lowerCpc = nil, upperCpc = nil, id = nil)
281
- @lowerAvgPosition = lowerAvgPosition
282
- @upperAvgPosition = upperAvgPosition
283
- @lowerClicksPerDay = lowerClicksPerDay
284
- @upperClicksPerDay = upperClicksPerDay
285
- @lowerCpc = lowerCpc
286
- @upperCpc = upperCpc
287
- @id = id
288
- end
289
- end
290
-
291
- # {https://adwords.google.com/api/adwords/v5}NetworkType
292
- class NetworkType < ::String
293
- @@schema_type = "NetworkType"
294
- @@schema_ns = "https://adwords.google.com/api/adwords/v5"
295
-
296
- ContentNetwork = NetworkType.new("ContentNetwork")
297
- GoogleSearch = NetworkType.new("GoogleSearch")
298
- SearchNetwork = NetworkType.new("SearchNetwork")
299
- end
300
-
301
- # {https://adwords.google.com/api/adwords/v5}KeywordType
302
- class KeywordType < ::String
303
- @@schema_type = "KeywordType"
304
- @@schema_ns = "https://adwords.google.com/api/adwords/v5"
305
-
306
- Broad = KeywordType.new("Broad")
307
- Exact = KeywordType.new("Exact")
308
- Phrase = KeywordType.new("Phrase")
309
- end
310
- end
@@ -1,62 +0,0 @@
1
- module AdWords
2
- require 'adwords4r/v5/TrafficEstimatorService'
3
-
4
- require 'soap/rpc/driver'
5
-
6
- class TrafficEstimatorInterface < ::SOAP::RPC::Driver
7
- DefaultEndpointUrl = "https://adwords.google.com/api/adwords/v5/TrafficEstimatorService"
8
- MappingRegistry = ::SOAP::Mapping::Registry.new
9
-
10
- Methods = [
11
- [ "",
12
- "estimateCampaignList",
13
- [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "estimateCampaignList"], true],
14
- ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "estimateCampaignListResponse"], true] ],
15
- { :request_style => :document, :request_use => :literal,
16
- :response_style => :document, :response_use => :literal }
17
- ],
18
- [ "",
19
- "estimateAdGroupList",
20
- [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "estimateAdGroupList"], true],
21
- ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "estimateAdGroupListResponse"], true] ],
22
- { :request_style => :document, :request_use => :literal,
23
- :response_style => :document, :response_use => :literal }
24
- ],
25
- [ "",
26
- "estimateKeywordList",
27
- [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "estimateKeywordList"], true],
28
- ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v5", "estimateKeywordListResponse"], true] ],
29
- { :request_style => :document, :request_use => :literal,
30
- :response_style => :document, :response_use => :literal }
31
- ]
32
- ]
33
-
34
- def initialize(endpoint_url = nil)
35
- endpoint_url ||= DefaultEndpointUrl
36
- super(endpoint_url, nil)
37
- self.mapping_registry = MappingRegistry
38
- init_methods
39
- end
40
-
41
- private
42
-
43
- def init_methods
44
- Methods.each do |definitions|
45
- opt = definitions.last
46
- if opt[:request_style] == :document
47
- add_document_operation(*definitions)
48
- else
49
- add_rpc_operation(*definitions)
50
- qname = definitions[0]
51
- name = definitions[2]
52
- if qname.name != name and qname.name.capitalize == name.capitalize
53
- ::SOAP::Mapping.define_singleton_method(self, qname.name) do |*arg|
54
- __send__(name, *arg)
55
- end
56
- end
57
- end
58
- end
59
- end
60
- end
61
-
62
- end