google-adwords-api 0.2.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (705) hide show
  1. data/ChangeLog +4 -0
  2. data/README +3 -14
  3. data/Rakefile +58 -89
  4. data/examples/v200909/add_ad_extension_override.rb +9 -18
  5. data/examples/v200909/add_ad_group.rb +9 -18
  6. data/examples/v200909/add_ad_group_criteria.rb +9 -18
  7. data/examples/v200909/add_ads.rb +9 -18
  8. data/examples/v200909/add_campaign.rb +9 -18
  9. data/examples/v200909/add_campaign_ad_extension.rb +9 -18
  10. data/examples/v200909/add_negative_campaign_criterion.rb +9 -18
  11. data/examples/v200909/check_campaigns.rb +9 -18
  12. data/examples/v200909/delete_ad.rb +9 -18
  13. data/examples/v200909/delete_ad_group.rb +9 -18
  14. data/examples/v200909/delete_ad_group_criterion.rb +9 -18
  15. data/examples/v200909/delete_campaign.rb +9 -18
  16. data/examples/v200909/get_all_active_ad_group_criteria.rb +9 -18
  17. data/examples/v200909/get_all_ad_extension_overrides.rb +9 -18
  18. data/examples/v200909/get_all_ad_group_criteria.rb +9 -18
  19. data/examples/v200909/get_all_ad_groups.rb +9 -18
  20. data/examples/v200909/get_all_ad_params.rb +9 -18
  21. data/examples/v200909/get_all_ads.rb +9 -18
  22. data/examples/v200909/get_all_campaign_ad_extensions.rb +9 -18
  23. data/examples/v200909/get_all_campaign_targets.rb +9 -18
  24. data/examples/v200909/get_all_campaigns.rb +9 -18
  25. data/examples/v200909/get_all_disapproved_ads.rb +9 -18
  26. data/examples/v200909/get_all_paused_campaigns.rb +9 -18
  27. data/examples/v200909/get_conversion_optimizer_eligibility.rb +9 -18
  28. data/examples/v200909/get_geo_location_info.rb +9 -18
  29. data/examples/v200909/get_method_cost.rb +9 -18
  30. data/examples/v200909/get_operation_count.rb +9 -18
  31. data/examples/v200909/get_related_keywords.rb +10 -18
  32. data/examples/v200909/get_related_placements.rb +10 -18
  33. data/examples/v200909/get_total_usage_units_per_month.rb +9 -18
  34. data/examples/v200909/get_unit_count.rb +9 -18
  35. data/examples/v200909/perform_bulk_mutate_job.rb +9 -18
  36. data/examples/v200909/set_ad_params.rb +9 -18
  37. data/examples/v200909/set_campaign_targets.rb +9 -18
  38. data/examples/v200909/update_ad.rb +9 -18
  39. data/examples/v200909/update_ad_group.rb +9 -18
  40. data/examples/v200909/update_ad_group_criterion.rb +9 -18
  41. data/examples/v200909/update_campaign.rb +9 -18
  42. data/examples/v201003/add_ad_extension_override.rb +9 -18
  43. data/examples/v201003/add_ad_group.rb +9 -18
  44. data/examples/v201003/add_ad_group_criteria.rb +9 -18
  45. data/examples/v201003/add_ads.rb +9 -18
  46. data/examples/v201003/add_campaign.rb +9 -18
  47. data/examples/v201003/add_campaign_ad_extension.rb +9 -18
  48. data/examples/v201003/add_keywords_performance_report_definition.rb +9 -18
  49. data/examples/v201003/add_negative_campaign_criterion.rb +9 -18
  50. data/examples/v201003/check_campaigns.rb +9 -18
  51. data/examples/v201003/delete_ad.rb +9 -18
  52. data/examples/v201003/delete_ad_group.rb +9 -18
  53. data/examples/v201003/delete_ad_group_criterion.rb +9 -18
  54. data/examples/v201003/delete_campaign.rb +9 -18
  55. data/examples/v201003/download_report.rb +9 -18
  56. data/examples/v201003/get_all_active_ad_group_criteria.rb +9 -18
  57. data/examples/v201003/get_all_ad_extension_overrides.rb +9 -18
  58. data/examples/v201003/get_all_ad_group_criteria.rb +9 -18
  59. data/examples/v201003/get_all_ad_groups.rb +9 -18
  60. data/examples/v201003/get_all_ad_params.rb +9 -18
  61. data/examples/v201003/get_all_ads.rb +9 -18
  62. data/examples/v201003/get_all_campaign_ad_extensions.rb +9 -18
  63. data/examples/v201003/get_all_campaign_targets.rb +9 -18
  64. data/examples/v201003/get_all_campaigns.rb +9 -18
  65. data/examples/v201003/get_all_disapproved_ads.rb +9 -18
  66. data/examples/v201003/get_all_images.rb +10 -18
  67. data/examples/v201003/get_all_paused_campaigns.rb +9 -18
  68. data/examples/v201003/get_all_report_definitions.rb +9 -18
  69. data/examples/v201003/get_all_videos.rb +9 -18
  70. data/examples/v201003/get_conversion_optimizer_eligibility.rb +9 -18
  71. data/examples/v201003/get_criterion_bid_landscape.rb +9 -18
  72. data/examples/v201003/get_geo_location_info.rb +9 -18
  73. data/examples/v201003/get_method_cost.rb +9 -18
  74. data/examples/v201003/get_operation_count.rb +9 -18
  75. data/examples/v201003/get_related_keywords.rb +10 -18
  76. data/examples/v201003/get_related_placements.rb +10 -18
  77. data/examples/v201003/get_report_fields.rb +9 -18
  78. data/examples/v201003/get_total_usage_units_per_month.rb +9 -18
  79. data/examples/v201003/get_unit_count.rb +9 -18
  80. data/examples/v201003/perform_bulk_mutate_job.rb +9 -18
  81. data/examples/v201003/set_ad_params.rb +9 -18
  82. data/examples/v201003/set_campaign_targets.rb +9 -18
  83. data/examples/v201003/update_ad.rb +9 -18
  84. data/examples/v201003/update_ad_group.rb +9 -18
  85. data/examples/v201003/update_ad_group_criterion.rb +9 -18
  86. data/examples/v201003/update_campaign.rb +9 -18
  87. data/examples/v201003/upload_image.rb +10 -18
  88. data/examples/v201008/add_ad_extension_override.rb +9 -18
  89. data/examples/v201008/add_ad_group.rb +9 -18
  90. data/examples/v201008/add_ad_group_criteria.rb +9 -18
  91. data/examples/v201008/add_ads.rb +9 -18
  92. data/examples/v201008/add_campaign.rb +9 -18
  93. data/examples/v201008/add_campaign_ad_extension.rb +9 -18
  94. data/examples/v201008/add_experiment.rb +9 -18
  95. data/examples/v201008/add_keywords_performance_report_definition.rb +9 -18
  96. data/examples/v201008/add_negative_campaign_criterion.rb +9 -18
  97. data/examples/v201008/add_user_list.rb +9 -18
  98. data/examples/v201008/check_campaigns.rb +9 -18
  99. data/examples/v201008/delete_ad.rb +9 -18
  100. data/examples/v201008/delete_ad_group.rb +9 -18
  101. data/examples/v201008/delete_ad_group_criterion.rb +9 -18
  102. data/examples/v201008/delete_bulk_mutate_job.rb +9 -18
  103. data/examples/v201008/delete_campaign.rb +9 -18
  104. data/examples/v201008/delete_experiment.rb +9 -18
  105. data/examples/v201008/delete_user_list.rb +9 -18
  106. data/examples/v201008/download_report.rb +9 -18
  107. data/examples/v201008/get_account_hierarchy.rb +10 -18
  108. data/examples/v201008/get_all_account_changes.rb +9 -18
  109. data/examples/v201008/get_all_active_ad_group_criteria.rb +9 -18
  110. data/examples/v201008/get_all_ad_extension_overrides.rb +9 -18
  111. data/examples/v201008/get_all_ad_group_criteria.rb +9 -18
  112. data/examples/v201008/get_all_ad_groups.rb +9 -18
  113. data/examples/v201008/get_all_ad_params.rb +9 -18
  114. data/examples/v201008/get_all_ads.rb +9 -18
  115. data/examples/v201008/get_all_campaign_ad_extensions.rb +9 -18
  116. data/examples/v201008/get_all_campaign_targets.rb +9 -18
  117. data/examples/v201008/get_all_campaigns.rb +9 -18
  118. data/examples/v201008/get_all_disapproved_ads.rb +9 -18
  119. data/examples/v201008/get_all_experiments.rb +9 -18
  120. data/examples/v201008/get_all_images.rb +10 -18
  121. data/examples/v201008/get_all_paused_campaigns.rb +9 -18
  122. data/examples/v201008/get_all_report_definitions.rb +9 -18
  123. data/examples/v201008/get_all_user_lists.rb +9 -18
  124. data/examples/v201008/get_all_videos.rb +9 -18
  125. data/examples/v201008/get_bulk_mutate_job.rb +9 -18
  126. data/examples/v201008/get_campaign_alerts.rb +10 -18
  127. data/examples/v201008/get_conversion_optimizer_eligibility.rb +9 -18
  128. data/examples/v201008/get_criterion_bid_landscape.rb +9 -18
  129. data/examples/v201008/get_geo_location_info.rb +9 -18
  130. data/examples/v201008/get_method_cost.rb +9 -18
  131. data/examples/v201008/get_operation_count.rb +9 -18
  132. data/examples/v201008/get_related_keywords.rb +10 -18
  133. data/examples/v201008/get_related_placements.rb +10 -18
  134. data/examples/v201008/get_report_fields.rb +9 -18
  135. data/examples/v201008/get_total_usage_units_per_month.rb +9 -18
  136. data/examples/v201008/get_traffic_estimates.rb +9 -18
  137. data/examples/v201008/get_unit_count.rb +9 -18
  138. data/examples/v201008/handle_partial_failures.rb +10 -18
  139. data/examples/v201008/handle_policy_violation_error.rb +10 -18
  140. data/examples/v201008/perform_bulk_mutate_job.rb +9 -18
  141. data/examples/v201008/promote_experiment.rb +9 -18
  142. data/examples/v201008/set_ad_params.rb +9 -18
  143. data/examples/v201008/set_campaign_targets.rb +9 -18
  144. data/examples/v201008/update_ad.rb +9 -18
  145. data/examples/v201008/update_ad_group.rb +9 -18
  146. data/examples/v201008/update_ad_group_criterion.rb +9 -18
  147. data/examples/v201008/update_campaign.rb +9 -18
  148. data/examples/v201008/update_user_list.rb +9 -18
  149. data/examples/v201008/upload_image.rb +10 -18
  150. data/examples/v201101/add_ad_extension_override.rb +9 -18
  151. data/examples/v201101/add_ad_group.rb +9 -18
  152. data/examples/v201101/add_ad_group_criteria.rb +9 -18
  153. data/examples/v201101/add_ads.rb +9 -18
  154. data/examples/v201101/add_campaign.rb +9 -18
  155. data/examples/v201101/add_campaign_ad_extension.rb +9 -18
  156. data/examples/v201101/add_conversion.rb +9 -18
  157. data/examples/v201101/add_experiment.rb +9 -18
  158. data/examples/v201101/add_keywords_performance_report_definition.rb +9 -18
  159. data/examples/v201101/add_mcc_report_definition.rb +9 -18
  160. data/examples/v201101/add_negative_campaign_criterion.rb +9 -18
  161. data/examples/v201101/add_user_list.rb +9 -18
  162. data/examples/v201101/check_campaigns.rb +9 -18
  163. data/examples/v201101/delete_ad.rb +9 -18
  164. data/examples/v201101/delete_ad_group.rb +9 -18
  165. data/examples/v201101/delete_ad_group_criterion.rb +9 -18
  166. data/examples/v201101/delete_bulk_mutate_job.rb +9 -18
  167. data/examples/v201101/delete_campaign.rb +9 -18
  168. data/examples/v201101/delete_experiment.rb +9 -18
  169. data/examples/v201101/delete_user_list.rb +9 -18
  170. data/examples/v201101/download_mcc_report.rb +9 -18
  171. data/examples/v201101/download_mcc_report_as_file.rb +9 -18
  172. data/examples/v201101/download_report.rb +9 -18
  173. data/examples/v201101/get_account_hierarchy.rb +10 -18
  174. data/examples/v201101/get_ad_group_bid_landscape.rb +9 -18
  175. data/examples/v201101/get_all_account_changes.rb +9 -18
  176. data/examples/v201101/get_all_active_ad_group_criteria.rb +9 -18
  177. data/examples/v201101/get_all_ad_extension_overrides.rb +9 -18
  178. data/examples/v201101/get_all_ad_group_criteria.rb +9 -18
  179. data/examples/v201101/get_all_ad_groups.rb +9 -18
  180. data/examples/v201101/get_all_ad_params.rb +9 -18
  181. data/examples/v201101/get_all_ads.rb +9 -18
  182. data/examples/v201101/get_all_campaign_ad_extensions.rb +9 -18
  183. data/examples/v201101/get_all_campaign_targets.rb +9 -18
  184. data/examples/v201101/get_all_campaigns.rb +9 -18
  185. data/examples/v201101/get_all_conversions.rb +9 -18
  186. data/examples/v201101/get_all_disapproved_ads.rb +9 -18
  187. data/examples/v201101/get_all_experiments.rb +9 -18
  188. data/examples/v201101/get_all_images.rb +10 -18
  189. data/examples/v201101/get_all_paused_campaigns.rb +9 -18
  190. data/examples/v201101/get_all_report_definitions.rb +9 -18
  191. data/examples/v201101/get_all_user_lists.rb +9 -18
  192. data/examples/v201101/get_all_videos.rb +9 -18
  193. data/examples/v201101/get_bulk_mutate_job.rb +9 -18
  194. data/examples/v201101/get_campaign_alerts.rb +10 -18
  195. data/examples/v201101/get_conversion_optimizer_eligibility.rb +9 -18
  196. data/examples/v201101/get_criterion_bid_landscape.rb +9 -18
  197. data/examples/v201101/get_geo_location_info.rb +9 -18
  198. data/examples/v201101/get_keyword_opportunities.rb +10 -18
  199. data/examples/v201101/get_method_cost.rb +9 -18
  200. data/examples/v201101/get_operation_count.rb +9 -18
  201. data/examples/v201101/get_related_keywords.rb +10 -18
  202. data/examples/v201101/get_related_placements.rb +10 -18
  203. data/examples/v201101/get_report_fields.rb +9 -18
  204. data/examples/v201101/get_total_usage_units_per_month.rb +9 -18
  205. data/examples/v201101/get_traffic_estimates.rb +9 -18
  206. data/examples/v201101/get_unit_count.rb +9 -18
  207. data/examples/v201101/handle_partial_failures.rb +10 -18
  208. data/examples/v201101/handle_policy_violation_error.rb +10 -18
  209. data/examples/v201101/handle_second_factor.rb +9 -18
  210. data/examples/v201101/oauth_handling.rb +9 -18
  211. data/examples/v201101/perform_bulk_mutate_job.rb +9 -18
  212. data/examples/v201101/promote_experiment.rb +9 -18
  213. data/examples/v201101/set_ad_params.rb +9 -18
  214. data/examples/v201101/set_campaign_targets.rb +9 -18
  215. data/examples/v201101/update_ad.rb +9 -18
  216. data/examples/v201101/update_ad_group.rb +9 -18
  217. data/examples/v201101/update_ad_group_criterion.rb +9 -18
  218. data/examples/v201101/update_campaign.rb +9 -18
  219. data/examples/v201101/update_conversion.rb +9 -18
  220. data/examples/v201101/update_user_list.rb +9 -18
  221. data/examples/v201101/upload_image.rb +10 -18
  222. data/lib/adwords_api.rb +53 -112
  223. data/lib/adwords_api/api_config.rb +11 -3
  224. data/lib/adwords_api/client_login_header_handler.rb +76 -0
  225. data/lib/adwords_api/errors.rb +22 -51
  226. data/lib/adwords_api/extensions.rb +16 -19
  227. data/lib/adwords_api/utils.rb +2 -9
  228. data/lib/adwords_api/v13/account_service.rb +48 -0
  229. data/lib/adwords_api/v13/account_service_registry.rb +39 -0
  230. data/lib/adwords_api/v13/report_service.rb +65 -0
  231. data/lib/adwords_api/v13/report_service_registry.rb +39 -0
  232. data/lib/adwords_api/v13/traffic_estimator_service.rb +44 -0
  233. data/lib/adwords_api/v13/traffic_estimator_service_registry.rb +39 -0
  234. data/lib/adwords_api/{auth/v13_login_handler.rb → v13_login_handler.rb} +4 -6
  235. data/lib/adwords_api/v200909/ad_extension_override_service.rb +36 -0
  236. data/lib/adwords_api/v200909/ad_extension_override_service_registry.rb +42 -0
  237. data/lib/adwords_api/v200909/ad_group_ad_service.rb +36 -0
  238. data/lib/adwords_api/v200909/ad_group_ad_service_registry.rb +42 -0
  239. data/lib/adwords_api/v200909/ad_group_criterion_service.rb +36 -0
  240. data/lib/adwords_api/v200909/ad_group_criterion_service_registry.rb +42 -0
  241. data/lib/adwords_api/v200909/ad_group_service.rb +36 -0
  242. data/lib/adwords_api/v200909/ad_group_service_registry.rb +42 -0
  243. data/lib/adwords_api/v200909/ad_param_service.rb +36 -0
  244. data/lib/adwords_api/v200909/ad_param_service_registry.rb +42 -0
  245. data/lib/adwords_api/v200909/bulk_mutate_job_service.rb +36 -0
  246. data/lib/adwords_api/v200909/bulk_mutate_job_service_registry.rb +42 -0
  247. data/lib/adwords_api/v200909/campaign_ad_extension_service.rb +36 -0
  248. data/lib/adwords_api/v200909/campaign_ad_extension_service_registry.rb +42 -0
  249. data/lib/adwords_api/v200909/campaign_criterion_service.rb +36 -0
  250. data/lib/adwords_api/v200909/campaign_criterion_service_registry.rb +42 -0
  251. data/lib/adwords_api/v200909/campaign_service.rb +36 -0
  252. data/lib/adwords_api/v200909/campaign_service_registry.rb +42 -0
  253. data/lib/adwords_api/v200909/campaign_target_service.rb +36 -0
  254. data/lib/adwords_api/v200909/campaign_target_service_registry.rb +42 -0
  255. data/lib/adwords_api/v200909/geo_location_service.rb +32 -0
  256. data/lib/adwords_api/v200909/geo_location_service_registry.rb +42 -0
  257. data/lib/adwords_api/v200909/info_service.rb +32 -0
  258. data/lib/adwords_api/v200909/info_service_registry.rb +42 -0
  259. data/lib/adwords_api/v200909/targeting_idea_service.rb +36 -0
  260. data/lib/adwords_api/v200909/targeting_idea_service_registry.rb +42 -0
  261. data/lib/adwords_api/v201003/ad_extension_override_service.rb +36 -0
  262. data/lib/adwords_api/v201003/ad_extension_override_service_registry.rb +42 -0
  263. data/lib/adwords_api/v201003/ad_group_ad_service.rb +36 -0
  264. data/lib/adwords_api/v201003/ad_group_ad_service_registry.rb +42 -0
  265. data/lib/adwords_api/v201003/ad_group_criterion_service.rb +36 -0
  266. data/lib/adwords_api/v201003/ad_group_criterion_service_registry.rb +42 -0
  267. data/lib/adwords_api/v201003/ad_group_service.rb +36 -0
  268. data/lib/adwords_api/v201003/ad_group_service_registry.rb +42 -0
  269. data/lib/adwords_api/v201003/ad_param_service.rb +36 -0
  270. data/lib/adwords_api/v201003/ad_param_service_registry.rb +42 -0
  271. data/lib/adwords_api/v201003/bid_landscape_service.rb +32 -0
  272. data/lib/adwords_api/v201003/bid_landscape_service_registry.rb +42 -0
  273. data/lib/adwords_api/v201003/bulk_mutate_job_service.rb +36 -0
  274. data/lib/adwords_api/v201003/bulk_mutate_job_service_registry.rb +42 -0
  275. data/lib/adwords_api/v201003/campaign_ad_extension_service.rb +36 -0
  276. data/lib/adwords_api/v201003/campaign_ad_extension_service_registry.rb +42 -0
  277. data/lib/adwords_api/v201003/campaign_criterion_service.rb +36 -0
  278. data/lib/adwords_api/v201003/campaign_criterion_service_registry.rb +42 -0
  279. data/lib/adwords_api/v201003/campaign_service.rb +36 -0
  280. data/lib/adwords_api/v201003/campaign_service_registry.rb +42 -0
  281. data/lib/adwords_api/v201003/campaign_target_service.rb +36 -0
  282. data/lib/adwords_api/v201003/campaign_target_service_registry.rb +42 -0
  283. data/lib/adwords_api/v201003/geo_location_service.rb +32 -0
  284. data/lib/adwords_api/v201003/geo_location_service_registry.rb +42 -0
  285. data/lib/adwords_api/v201003/info_service.rb +32 -0
  286. data/lib/adwords_api/v201003/info_service_registry.rb +42 -0
  287. data/lib/adwords_api/v201003/media_service.rb +36 -0
  288. data/lib/adwords_api/v201003/media_service_registry.rb +42 -0
  289. data/lib/adwords_api/v201003/report_definition_service.rb +49 -0
  290. data/lib/adwords_api/v201003/report_definition_service_registry.rb +42 -0
  291. data/lib/adwords_api/v201003/targeting_idea_service.rb +36 -0
  292. data/lib/adwords_api/v201003/targeting_idea_service_registry.rb +42 -0
  293. data/lib/adwords_api/v201008/ad_extension_override_service.rb +36 -0
  294. data/lib/adwords_api/v201008/ad_extension_override_service_registry.rb +42 -0
  295. data/lib/adwords_api/v201008/ad_group_ad_service.rb +36 -0
  296. data/lib/adwords_api/v201008/ad_group_ad_service_registry.rb +42 -0
  297. data/lib/adwords_api/v201008/ad_group_criterion_service.rb +36 -0
  298. data/lib/adwords_api/v201008/ad_group_criterion_service_registry.rb +42 -0
  299. data/lib/adwords_api/v201008/ad_group_service.rb +36 -0
  300. data/lib/adwords_api/v201008/ad_group_service_registry.rb +42 -0
  301. data/lib/adwords_api/v201008/ad_param_service.rb +36 -0
  302. data/lib/adwords_api/v201008/ad_param_service_registry.rb +42 -0
  303. data/lib/adwords_api/v201008/alert_service.rb +32 -0
  304. data/lib/adwords_api/v201008/alert_service_registry.rb +42 -0
  305. data/lib/adwords_api/v201008/bid_landscape_service.rb +32 -0
  306. data/lib/adwords_api/v201008/bid_landscape_service_registry.rb +42 -0
  307. data/lib/adwords_api/v201008/bulk_mutate_job_service.rb +36 -0
  308. data/lib/adwords_api/v201008/bulk_mutate_job_service_registry.rb +42 -0
  309. data/lib/adwords_api/v201008/campaign_ad_extension_service.rb +36 -0
  310. data/lib/adwords_api/v201008/campaign_ad_extension_service_registry.rb +42 -0
  311. data/lib/adwords_api/v201008/campaign_criterion_service.rb +36 -0
  312. data/lib/adwords_api/v201008/campaign_criterion_service_registry.rb +42 -0
  313. data/lib/adwords_api/v201008/campaign_service.rb +36 -0
  314. data/lib/adwords_api/v201008/campaign_service_registry.rb +42 -0
  315. data/lib/adwords_api/v201008/campaign_target_service.rb +36 -0
  316. data/lib/adwords_api/v201008/campaign_target_service_registry.rb +42 -0
  317. data/lib/adwords_api/v201008/customer_sync_service.rb +32 -0
  318. data/lib/adwords_api/v201008/customer_sync_service_registry.rb +43 -0
  319. data/lib/adwords_api/v201008/experiment_service.rb +36 -0
  320. data/lib/adwords_api/v201008/experiment_service_registry.rb +42 -0
  321. data/lib/adwords_api/v201008/geo_location_service.rb +32 -0
  322. data/lib/adwords_api/v201008/geo_location_service_registry.rb +42 -0
  323. data/lib/adwords_api/v201008/info_service.rb +32 -0
  324. data/lib/adwords_api/v201008/info_service_registry.rb +42 -0
  325. data/lib/adwords_api/v201008/media_service.rb +36 -0
  326. data/lib/adwords_api/v201008/media_service_registry.rb +42 -0
  327. data/lib/adwords_api/v201008/report_definition_service.rb +49 -0
  328. data/lib/adwords_api/v201008/report_definition_service_registry.rb +42 -0
  329. data/lib/adwords_api/v201008/serviced_account_service.rb +32 -0
  330. data/lib/adwords_api/v201008/serviced_account_service_registry.rb +42 -0
  331. data/lib/adwords_api/v201008/targeting_idea_service.rb +36 -0
  332. data/lib/adwords_api/v201008/targeting_idea_service_registry.rb +42 -0
  333. data/lib/adwords_api/v201008/traffic_estimator_service.rb +32 -0
  334. data/lib/adwords_api/v201008/traffic_estimator_service_registry.rb +42 -0
  335. data/lib/adwords_api/v201008/user_list_service.rb +36 -0
  336. data/lib/adwords_api/v201008/user_list_service_registry.rb +42 -0
  337. data/lib/adwords_api/v201101/ad_extension_override_service.rb +36 -0
  338. data/lib/adwords_api/v201101/ad_extension_override_service_registry.rb +42 -0
  339. data/lib/adwords_api/v201101/ad_group_ad_service.rb +36 -0
  340. data/lib/adwords_api/v201101/ad_group_ad_service_registry.rb +42 -0
  341. data/lib/adwords_api/v201101/ad_group_criterion_service.rb +36 -0
  342. data/lib/adwords_api/v201101/ad_group_criterion_service_registry.rb +42 -0
  343. data/lib/adwords_api/v201101/ad_group_service.rb +36 -0
  344. data/lib/adwords_api/v201101/ad_group_service_registry.rb +42 -0
  345. data/lib/adwords_api/v201101/ad_param_service.rb +36 -0
  346. data/lib/adwords_api/v201101/ad_param_service_registry.rb +42 -0
  347. data/lib/adwords_api/v201101/alert_service.rb +32 -0
  348. data/lib/adwords_api/v201101/alert_service_registry.rb +42 -0
  349. data/lib/adwords_api/v201101/bulk_mutate_job_service.rb +36 -0
  350. data/lib/adwords_api/v201101/bulk_mutate_job_service_registry.rb +42 -0
  351. data/lib/adwords_api/v201101/bulk_opportunity_service.rb +32 -0
  352. data/lib/adwords_api/v201101/bulk_opportunity_service_registry.rb +42 -0
  353. data/lib/adwords_api/v201101/campaign_ad_extension_service.rb +36 -0
  354. data/lib/adwords_api/v201101/campaign_ad_extension_service_registry.rb +42 -0
  355. data/lib/adwords_api/v201101/campaign_criterion_service.rb +36 -0
  356. data/lib/adwords_api/v201101/campaign_criterion_service_registry.rb +42 -0
  357. data/lib/adwords_api/v201101/campaign_service.rb +36 -0
  358. data/lib/adwords_api/v201101/campaign_service_registry.rb +42 -0
  359. data/lib/adwords_api/v201101/campaign_target_service.rb +36 -0
  360. data/lib/adwords_api/v201101/campaign_target_service_registry.rb +42 -0
  361. data/lib/adwords_api/v201101/conversion_tracker_service.rb +36 -0
  362. data/lib/adwords_api/v201101/conversion_tracker_service_registry.rb +42 -0
  363. data/lib/adwords_api/v201101/customer_sync_service.rb +32 -0
  364. data/lib/adwords_api/v201101/customer_sync_service_registry.rb +43 -0
  365. data/lib/adwords_api/v201101/data_service.rb +36 -0
  366. data/lib/adwords_api/v201101/data_service_registry.rb +42 -0
  367. data/lib/adwords_api/v201101/experiment_service.rb +36 -0
  368. data/lib/adwords_api/v201101/experiment_service_registry.rb +42 -0
  369. data/lib/adwords_api/v201101/geo_location_service.rb +32 -0
  370. data/lib/adwords_api/v201101/geo_location_service_registry.rb +42 -0
  371. data/lib/adwords_api/v201101/info_service.rb +32 -0
  372. data/lib/adwords_api/v201101/info_service_registry.rb +42 -0
  373. data/lib/adwords_api/v201101/media_service.rb +36 -0
  374. data/lib/adwords_api/v201101/media_service_registry.rb +42 -0
  375. data/lib/adwords_api/v201101/report_definition_service.rb +57 -0
  376. data/lib/adwords_api/v201101/report_definition_service_registry.rb +42 -0
  377. data/lib/adwords_api/v201101/serviced_account_service.rb +32 -0
  378. data/lib/adwords_api/v201101/serviced_account_service_registry.rb +42 -0
  379. data/lib/adwords_api/v201101/targeting_idea_service.rb +36 -0
  380. data/lib/adwords_api/v201101/targeting_idea_service_registry.rb +42 -0
  381. data/lib/adwords_api/v201101/traffic_estimator_service.rb +32 -0
  382. data/lib/adwords_api/v201101/traffic_estimator_service_registry.rb +42 -0
  383. data/lib/adwords_api/v201101/user_list_service.rb +36 -0
  384. data/lib/adwords_api/v201101/user_list_service_registry.rb +42 -0
  385. metadata +185 -374
  386. data/adwords_api.yml +0 -39
  387. data/lib/adwords_api/nested_header_handler.rb +0 -47
  388. data/lib/adwords_api/single_header_handler.rb +0 -41
  389. data/lib/adwords_api/soap4r/rake_common.rb +0 -345
  390. data/lib/adwords_api/soap4r/soap4r_generator.rb +0 -564
  391. data/lib/adwords_api/soap4r/soap4r_logger.rb +0 -44
  392. data/lib/adwords_api/soap4r/soap4r_patches.rb +0 -210
  393. data/lib/adwords_api/soap4r/soap4r_response_handler.rb +0 -148
  394. data/lib/adwords_api/v13/AccountService.rb +0 -321
  395. data/lib/adwords_api/v13/AccountServiceDriver.rb +0 -87
  396. data/lib/adwords_api/v13/AccountServiceMappingRegistry.rb +0 -337
  397. data/lib/adwords_api/v13/AccountServiceWrapper.rb +0 -407
  398. data/lib/adwords_api/v13/ReportService.rb +0 -328
  399. data/lib/adwords_api/v13/ReportServiceDriver.rb +0 -103
  400. data/lib/adwords_api/v13/ReportServiceMappingRegistry.rb +0 -298
  401. data/lib/adwords_api/v13/ReportServiceWrapper.rb +0 -500
  402. data/lib/adwords_api/v13/TrafficEstimatorService.rb +0 -414
  403. data/lib/adwords_api/v13/TrafficEstimatorServiceDriver.rb +0 -79
  404. data/lib/adwords_api/v13/TrafficEstimatorServiceMappingRegistry.rb +0 -491
  405. data/lib/adwords_api/v13/TrafficEstimatorServiceWrapper.rb +0 -402
  406. data/lib/adwords_api/v200909/AdExtensionOverrideService.rb +0 -1105
  407. data/lib/adwords_api/v200909/AdExtensionOverrideServiceDriver.rb +0 -63
  408. data/lib/adwords_api/v200909/AdExtensionOverrideServiceMappingRegistry.rb +0 -1265
  409. data/lib/adwords_api/v200909/AdExtensionOverrideServiceWrapper.rb +0 -332
  410. data/lib/adwords_api/v200909/AdGroupAdService.rb +0 -2603
  411. data/lib/adwords_api/v200909/AdGroupAdServiceDriver.rb +0 -63
  412. data/lib/adwords_api/v200909/AdGroupAdServiceMappingRegistry.rb +0 -2755
  413. data/lib/adwords_api/v200909/AdGroupAdServiceWrapper.rb +0 -332
  414. data/lib/adwords_api/v200909/AdGroupCriterionService.rb +0 -1577
  415. data/lib/adwords_api/v200909/AdGroupCriterionServiceDriver.rb +0 -63
  416. data/lib/adwords_api/v200909/AdGroupCriterionServiceMappingRegistry.rb +0 -1821
  417. data/lib/adwords_api/v200909/AdGroupCriterionServiceWrapper.rb +0 -332
  418. data/lib/adwords_api/v200909/AdGroupService.rb +0 -1251
  419. data/lib/adwords_api/v200909/AdGroupServiceDriver.rb +0 -63
  420. data/lib/adwords_api/v200909/AdGroupServiceMappingRegistry.rb +0 -1395
  421. data/lib/adwords_api/v200909/AdGroupServiceWrapper.rb +0 -332
  422. data/lib/adwords_api/v200909/AdParamService.rb +0 -765
  423. data/lib/adwords_api/v200909/AdParamServiceDriver.rb +0 -63
  424. data/lib/adwords_api/v200909/AdParamServiceMappingRegistry.rb +0 -927
  425. data/lib/adwords_api/v200909/AdParamServiceWrapper.rb +0 -332
  426. data/lib/adwords_api/v200909/BulkMutateJobService.rb +0 -4778
  427. data/lib/adwords_api/v200909/BulkMutateJobServiceDriver.rb +0 -63
  428. data/lib/adwords_api/v200909/BulkMutateJobServiceMappingRegistry.rb +0 -5077
  429. data/lib/adwords_api/v200909/BulkMutateJobServiceWrapper.rb +0 -332
  430. data/lib/adwords_api/v200909/CampaignAdExtensionService.rb +0 -1065
  431. data/lib/adwords_api/v200909/CampaignAdExtensionServiceDriver.rb +0 -63
  432. data/lib/adwords_api/v200909/CampaignAdExtensionServiceMappingRegistry.rb +0 -1273
  433. data/lib/adwords_api/v200909/CampaignAdExtensionServiceWrapper.rb +0 -332
  434. data/lib/adwords_api/v200909/CampaignCriterionService.rb +0 -1019
  435. data/lib/adwords_api/v200909/CampaignCriterionServiceDriver.rb +0 -63
  436. data/lib/adwords_api/v200909/CampaignCriterionServiceMappingRegistry.rb +0 -1237
  437. data/lib/adwords_api/v200909/CampaignCriterionServiceWrapper.rb +0 -332
  438. data/lib/adwords_api/v200909/CampaignService.rb +0 -1633
  439. data/lib/adwords_api/v200909/CampaignServiceDriver.rb +0 -63
  440. data/lib/adwords_api/v200909/CampaignServiceMappingRegistry.rb +0 -1785
  441. data/lib/adwords_api/v200909/CampaignServiceWrapper.rb +0 -332
  442. data/lib/adwords_api/v200909/CampaignTargetService.rb +0 -1435
  443. data/lib/adwords_api/v200909/CampaignTargetServiceDriver.rb +0 -63
  444. data/lib/adwords_api/v200909/CampaignTargetServiceMappingRegistry.rb +0 -1569
  445. data/lib/adwords_api/v200909/CampaignTargetServiceWrapper.rb +0 -332
  446. data/lib/adwords_api/v200909/GeoLocationService.rb +0 -611
  447. data/lib/adwords_api/v200909/GeoLocationServiceDriver.rb +0 -55
  448. data/lib/adwords_api/v200909/GeoLocationServiceMappingRegistry.rb +0 -771
  449. data/lib/adwords_api/v200909/GeoLocationServiceWrapper.rb +0 -303
  450. data/lib/adwords_api/v200909/InfoService.rb +0 -605
  451. data/lib/adwords_api/v200909/InfoServiceDriver.rb +0 -55
  452. data/lib/adwords_api/v200909/InfoServiceMappingRegistry.rb +0 -764
  453. data/lib/adwords_api/v200909/InfoServiceWrapper.rb +0 -303
  454. data/lib/adwords_api/v200909/TargetingIdeaService.rb +0 -2253
  455. data/lib/adwords_api/v200909/TargetingIdeaServiceDriver.rb +0 -63
  456. data/lib/adwords_api/v200909/TargetingIdeaServiceMappingRegistry.rb +0 -2688
  457. data/lib/adwords_api/v200909/TargetingIdeaServiceWrapper.rb +0 -335
  458. data/lib/adwords_api/v201003/AdExtensionOverrideService.rb +0 -1301
  459. data/lib/adwords_api/v201003/AdExtensionOverrideServiceDriver.rb +0 -63
  460. data/lib/adwords_api/v201003/AdExtensionOverrideServiceMappingRegistry.rb +0 -1468
  461. data/lib/adwords_api/v201003/AdExtensionOverrideServiceWrapper.rb +0 -332
  462. data/lib/adwords_api/v201003/AdGroupAdService.rb +0 -2909
  463. data/lib/adwords_api/v201003/AdGroupAdServiceDriver.rb +0 -63
  464. data/lib/adwords_api/v201003/AdGroupAdServiceMappingRegistry.rb +0 -2970
  465. data/lib/adwords_api/v201003/AdGroupAdServiceWrapper.rb +0 -332
  466. data/lib/adwords_api/v201003/AdGroupCriterionService.rb +0 -1762
  467. data/lib/adwords_api/v201003/AdGroupCriterionServiceDriver.rb +0 -63
  468. data/lib/adwords_api/v201003/AdGroupCriterionServiceMappingRegistry.rb +0 -1978
  469. data/lib/adwords_api/v201003/AdGroupCriterionServiceWrapper.rb +0 -332
  470. data/lib/adwords_api/v201003/AdGroupService.rb +0 -1421
  471. data/lib/adwords_api/v201003/AdGroupServiceDriver.rb +0 -63
  472. data/lib/adwords_api/v201003/AdGroupServiceMappingRegistry.rb +0 -1546
  473. data/lib/adwords_api/v201003/AdGroupServiceWrapper.rb +0 -332
  474. data/lib/adwords_api/v201003/AdParamService.rb +0 -859
  475. data/lib/adwords_api/v201003/AdParamServiceDriver.rb +0 -63
  476. data/lib/adwords_api/v201003/AdParamServiceMappingRegistry.rb +0 -1002
  477. data/lib/adwords_api/v201003/AdParamServiceWrapper.rb +0 -332
  478. data/lib/adwords_api/v201003/BidLandscapeService.rb +0 -847
  479. data/lib/adwords_api/v201003/BidLandscapeServiceDriver.rb +0 -55
  480. data/lib/adwords_api/v201003/BidLandscapeServiceMappingRegistry.rb +0 -958
  481. data/lib/adwords_api/v201003/BidLandscapeServiceWrapper.rb +0 -306
  482. data/lib/adwords_api/v201003/BulkMutateJobService.rb +0 -5401
  483. data/lib/adwords_api/v201003/BulkMutateJobServiceDriver.rb +0 -63
  484. data/lib/adwords_api/v201003/BulkMutateJobServiceMappingRegistry.rb +0 -5600
  485. data/lib/adwords_api/v201003/BulkMutateJobServiceWrapper.rb +0 -332
  486. data/lib/adwords_api/v201003/CampaignAdExtensionService.rb +0 -1255
  487. data/lib/adwords_api/v201003/CampaignAdExtensionServiceDriver.rb +0 -63
  488. data/lib/adwords_api/v201003/CampaignAdExtensionServiceMappingRegistry.rb +0 -1452
  489. data/lib/adwords_api/v201003/CampaignAdExtensionServiceWrapper.rb +0 -332
  490. data/lib/adwords_api/v201003/CampaignCriterionService.rb +0 -1145
  491. data/lib/adwords_api/v201003/CampaignCriterionServiceDriver.rb +0 -63
  492. data/lib/adwords_api/v201003/CampaignCriterionServiceMappingRegistry.rb +0 -1344
  493. data/lib/adwords_api/v201003/CampaignCriterionServiceWrapper.rb +0 -332
  494. data/lib/adwords_api/v201003/CampaignService.rb +0 -1901
  495. data/lib/adwords_api/v201003/CampaignServiceDriver.rb +0 -63
  496. data/lib/adwords_api/v201003/CampaignServiceMappingRegistry.rb +0 -2010
  497. data/lib/adwords_api/v201003/CampaignServiceWrapper.rb +0 -332
  498. data/lib/adwords_api/v201003/CampaignTargetService.rb +0 -1642
  499. data/lib/adwords_api/v201003/CampaignTargetServiceDriver.rb +0 -63
  500. data/lib/adwords_api/v201003/CampaignTargetServiceMappingRegistry.rb +0 -1754
  501. data/lib/adwords_api/v201003/CampaignTargetServiceWrapper.rb +0 -332
  502. data/lib/adwords_api/v201003/GeoLocationService.rb +0 -692
  503. data/lib/adwords_api/v201003/GeoLocationServiceDriver.rb +0 -55
  504. data/lib/adwords_api/v201003/GeoLocationServiceMappingRegistry.rb +0 -840
  505. data/lib/adwords_api/v201003/GeoLocationServiceWrapper.rb +0 -303
  506. data/lib/adwords_api/v201003/InfoService.rb +0 -687
  507. data/lib/adwords_api/v201003/InfoServiceDriver.rb +0 -55
  508. data/lib/adwords_api/v201003/InfoServiceMappingRegistry.rb +0 -833
  509. data/lib/adwords_api/v201003/InfoServiceWrapper.rb +0 -303
  510. data/lib/adwords_api/v201003/MediaService.rb +0 -1192
  511. data/lib/adwords_api/v201003/MediaServiceDriver.rb +0 -63
  512. data/lib/adwords_api/v201003/MediaServiceMappingRegistry.rb +0 -1290
  513. data/lib/adwords_api/v201003/MediaServiceWrapper.rb +0 -332
  514. data/lib/adwords_api/v201003/ReportDefinitionService.rb +0 -905
  515. data/lib/adwords_api/v201003/ReportDefinitionServiceDriver.rb +0 -71
  516. data/lib/adwords_api/v201003/ReportDefinitionServiceMappingRegistry.rb +0 -1036
  517. data/lib/adwords_api/v201003/ReportDefinitionServiceWrapper.rb +0 -378
  518. data/lib/adwords_api/v201003/TargetingIdeaService.rb +0 -2517
  519. data/lib/adwords_api/v201003/TargetingIdeaServiceDriver.rb +0 -63
  520. data/lib/adwords_api/v201003/TargetingIdeaServiceMappingRegistry.rb +0 -2925
  521. data/lib/adwords_api/v201003/TargetingIdeaServiceWrapper.rb +0 -335
  522. data/lib/adwords_api/v201008/AdExtensionOverrideService.rb +0 -1383
  523. data/lib/adwords_api/v201008/AdExtensionOverrideServiceDriver.rb +0 -63
  524. data/lib/adwords_api/v201008/AdExtensionOverrideServiceMappingRegistry.rb +0 -1563
  525. data/lib/adwords_api/v201008/AdExtensionOverrideServiceWrapper.rb +0 -332
  526. data/lib/adwords_api/v201008/AdGroupAdService.rb +0 -2928
  527. data/lib/adwords_api/v201008/AdGroupAdServiceDriver.rb +0 -63
  528. data/lib/adwords_api/v201008/AdGroupAdServiceMappingRegistry.rb +0 -2969
  529. data/lib/adwords_api/v201008/AdGroupAdServiceWrapper.rb +0 -332
  530. data/lib/adwords_api/v201008/AdGroupCriterionService.rb +0 -1981
  531. data/lib/adwords_api/v201008/AdGroupCriterionServiceDriver.rb +0 -63
  532. data/lib/adwords_api/v201008/AdGroupCriterionServiceMappingRegistry.rb +0 -2229
  533. data/lib/adwords_api/v201008/AdGroupCriterionServiceWrapper.rb +0 -332
  534. data/lib/adwords_api/v201008/AdGroupService.rb +0 -1548
  535. data/lib/adwords_api/v201008/AdGroupServiceDriver.rb +0 -63
  536. data/lib/adwords_api/v201008/AdGroupServiceMappingRegistry.rb +0 -1687
  537. data/lib/adwords_api/v201008/AdGroupServiceWrapper.rb +0 -332
  538. data/lib/adwords_api/v201008/AdParamService.rb +0 -889
  539. data/lib/adwords_api/v201008/AdParamServiceDriver.rb +0 -63
  540. data/lib/adwords_api/v201008/AdParamServiceMappingRegistry.rb +0 -1041
  541. data/lib/adwords_api/v201008/AdParamServiceWrapper.rb +0 -332
  542. data/lib/adwords_api/v201008/AlertService.rb +0 -743
  543. data/lib/adwords_api/v201008/AlertServiceDriver.rb +0 -55
  544. data/lib/adwords_api/v201008/AlertServiceMappingRegistry.rb +0 -836
  545. data/lib/adwords_api/v201008/AlertServiceWrapper.rb +0 -303
  546. data/lib/adwords_api/v201008/BidLandscapeService.rb +0 -928
  547. data/lib/adwords_api/v201008/BidLandscapeServiceDriver.rb +0 -55
  548. data/lib/adwords_api/v201008/BidLandscapeServiceMappingRegistry.rb +0 -1059
  549. data/lib/adwords_api/v201008/BidLandscapeServiceWrapper.rb +0 -306
  550. data/lib/adwords_api/v201008/BulkMutateJobService.rb +0 -6063
  551. data/lib/adwords_api/v201008/BulkMutateJobServiceDriver.rb +0 -63
  552. data/lib/adwords_api/v201008/BulkMutateJobServiceMappingRegistry.rb +0 -6265
  553. data/lib/adwords_api/v201008/BulkMutateJobServiceWrapper.rb +0 -332
  554. data/lib/adwords_api/v201008/CampaignAdExtensionService.rb +0 -1594
  555. data/lib/adwords_api/v201008/CampaignAdExtensionServiceDriver.rb +0 -63
  556. data/lib/adwords_api/v201008/CampaignAdExtensionServiceMappingRegistry.rb +0 -1789
  557. data/lib/adwords_api/v201008/CampaignAdExtensionServiceWrapper.rb +0 -332
  558. data/lib/adwords_api/v201008/CampaignCriterionService.rb +0 -1243
  559. data/lib/adwords_api/v201008/CampaignCriterionServiceDriver.rb +0 -63
  560. data/lib/adwords_api/v201008/CampaignCriterionServiceMappingRegistry.rb +0 -1467
  561. data/lib/adwords_api/v201008/CampaignCriterionServiceWrapper.rb +0 -332
  562. data/lib/adwords_api/v201008/CampaignService.rb +0 -1979
  563. data/lib/adwords_api/v201008/CampaignServiceDriver.rb +0 -63
  564. data/lib/adwords_api/v201008/CampaignServiceMappingRegistry.rb +0 -2089
  565. data/lib/adwords_api/v201008/CampaignServiceWrapper.rb +0 -332
  566. data/lib/adwords_api/v201008/CampaignTargetService.rb +0 -1651
  567. data/lib/adwords_api/v201008/CampaignTargetServiceDriver.rb +0 -63
  568. data/lib/adwords_api/v201008/CampaignTargetServiceMappingRegistry.rb +0 -1757
  569. data/lib/adwords_api/v201008/CampaignTargetServiceWrapper.rb +0 -332
  570. data/lib/adwords_api/v201008/CustomerSyncService.rb +0 -693
  571. data/lib/adwords_api/v201008/CustomerSyncServiceDriver.rb +0 -55
  572. data/lib/adwords_api/v201008/CustomerSyncServiceMappingRegistry.rb +0 -820
  573. data/lib/adwords_api/v201008/CustomerSyncServiceWrapper.rb +0 -303
  574. data/lib/adwords_api/v201008/ExperimentService.rb +0 -1124
  575. data/lib/adwords_api/v201008/ExperimentServiceDriver.rb +0 -63
  576. data/lib/adwords_api/v201008/ExperimentServiceMappingRegistry.rb +0 -1281
  577. data/lib/adwords_api/v201008/ExperimentServiceWrapper.rb +0 -332
  578. data/lib/adwords_api/v201008/GeoLocationService.rb +0 -695
  579. data/lib/adwords_api/v201008/GeoLocationServiceDriver.rb +0 -55
  580. data/lib/adwords_api/v201008/GeoLocationServiceMappingRegistry.rb +0 -843
  581. data/lib/adwords_api/v201008/GeoLocationServiceWrapper.rb +0 -303
  582. data/lib/adwords_api/v201008/InfoService.rb +0 -690
  583. data/lib/adwords_api/v201008/InfoServiceDriver.rb +0 -55
  584. data/lib/adwords_api/v201008/InfoServiceMappingRegistry.rb +0 -836
  585. data/lib/adwords_api/v201008/InfoServiceWrapper.rb +0 -303
  586. data/lib/adwords_api/v201008/MediaService.rb +0 -1144
  587. data/lib/adwords_api/v201008/MediaServiceDriver.rb +0 -63
  588. data/lib/adwords_api/v201008/MediaServiceMappingRegistry.rb +0 -1241
  589. data/lib/adwords_api/v201008/MediaServiceWrapper.rb +0 -332
  590. data/lib/adwords_api/v201008/ReportDefinitionService.rb +0 -976
  591. data/lib/adwords_api/v201008/ReportDefinitionServiceDriver.rb +0 -71
  592. data/lib/adwords_api/v201008/ReportDefinitionServiceMappingRegistry.rb +0 -1115
  593. data/lib/adwords_api/v201008/ReportDefinitionServiceWrapper.rb +0 -378
  594. data/lib/adwords_api/v201008/ServicedAccountService.rb +0 -630
  595. data/lib/adwords_api/v201008/ServicedAccountServiceDriver.rb +0 -55
  596. data/lib/adwords_api/v201008/ServicedAccountServiceMappingRegistry.rb +0 -752
  597. data/lib/adwords_api/v201008/ServicedAccountServiceWrapper.rb +0 -303
  598. data/lib/adwords_api/v201008/TargetingIdeaService.rb +0 -2645
  599. data/lib/adwords_api/v201008/TargetingIdeaServiceDriver.rb +0 -63
  600. data/lib/adwords_api/v201008/TargetingIdeaServiceMappingRegistry.rb +0 -3080
  601. data/lib/adwords_api/v201008/TargetingIdeaServiceWrapper.rb +0 -335
  602. data/lib/adwords_api/v201008/TrafficEstimatorService.rb +0 -1833
  603. data/lib/adwords_api/v201008/TrafficEstimatorServiceDriver.rb +0 -55
  604. data/lib/adwords_api/v201008/TrafficEstimatorServiceMappingRegistry.rb +0 -2124
  605. data/lib/adwords_api/v201008/TrafficEstimatorServiceWrapper.rb +0 -303
  606. data/lib/adwords_api/v201008/UserListService.rb +0 -846
  607. data/lib/adwords_api/v201008/UserListServiceDriver.rb +0 -63
  608. data/lib/adwords_api/v201008/UserListServiceMappingRegistry.rb +0 -915
  609. data/lib/adwords_api/v201008/UserListServiceWrapper.rb +0 -332
  610. data/lib/adwords_api/v201101/AdExtensionOverrideService.rb +0 -1399
  611. data/lib/adwords_api/v201101/AdExtensionOverrideServiceDriver.rb +0 -63
  612. data/lib/adwords_api/v201101/AdExtensionOverrideServiceMappingRegistry.rb +0 -1573
  613. data/lib/adwords_api/v201101/AdExtensionOverrideServiceWrapper.rb +0 -332
  614. data/lib/adwords_api/v201101/AdGroupAdService.rb +0 -2587
  615. data/lib/adwords_api/v201101/AdGroupAdServiceDriver.rb +0 -63
  616. data/lib/adwords_api/v201101/AdGroupAdServiceMappingRegistry.rb +0 -2583
  617. data/lib/adwords_api/v201101/AdGroupAdServiceWrapper.rb +0 -332
  618. data/lib/adwords_api/v201101/AdGroupCriterionService.rb +0 -2099
  619. data/lib/adwords_api/v201101/AdGroupCriterionServiceDriver.rb +0 -63
  620. data/lib/adwords_api/v201101/AdGroupCriterionServiceMappingRegistry.rb +0 -2327
  621. data/lib/adwords_api/v201101/AdGroupCriterionServiceWrapper.rb +0 -332
  622. data/lib/adwords_api/v201101/AdGroupService.rb +0 -1610
  623. data/lib/adwords_api/v201101/AdGroupServiceDriver.rb +0 -63
  624. data/lib/adwords_api/v201101/AdGroupServiceMappingRegistry.rb +0 -1765
  625. data/lib/adwords_api/v201101/AdGroupServiceWrapper.rb +0 -332
  626. data/lib/adwords_api/v201101/AdParamService.rb +0 -922
  627. data/lib/adwords_api/v201101/AdParamServiceDriver.rb +0 -63
  628. data/lib/adwords_api/v201101/AdParamServiceMappingRegistry.rb +0 -1077
  629. data/lib/adwords_api/v201101/AdParamServiceWrapper.rb +0 -332
  630. data/lib/adwords_api/v201101/AlertService.rb +0 -747
  631. data/lib/adwords_api/v201101/AlertServiceDriver.rb +0 -55
  632. data/lib/adwords_api/v201101/AlertServiceMappingRegistry.rb +0 -838
  633. data/lib/adwords_api/v201101/AlertServiceWrapper.rb +0 -303
  634. data/lib/adwords_api/v201101/BulkMutateJobService.rb +0 -6197
  635. data/lib/adwords_api/v201101/BulkMutateJobServiceDriver.rb +0 -63
  636. data/lib/adwords_api/v201101/BulkMutateJobServiceMappingRegistry.rb +0 -6413
  637. data/lib/adwords_api/v201101/BulkMutateJobServiceWrapper.rb +0 -332
  638. data/lib/adwords_api/v201101/BulkOpportunityService.rb +0 -1367
  639. data/lib/adwords_api/v201101/BulkOpportunityServiceDriver.rb +0 -55
  640. data/lib/adwords_api/v201101/BulkOpportunityServiceMappingRegistry.rb +0 -1668
  641. data/lib/adwords_api/v201101/BulkOpportunityServiceWrapper.rb +0 -303
  642. data/lib/adwords_api/v201101/CampaignAdExtensionService.rb +0 -1677
  643. data/lib/adwords_api/v201101/CampaignAdExtensionServiceDriver.rb +0 -63
  644. data/lib/adwords_api/v201101/CampaignAdExtensionServiceMappingRegistry.rb +0 -1855
  645. data/lib/adwords_api/v201101/CampaignAdExtensionServiceWrapper.rb +0 -332
  646. data/lib/adwords_api/v201101/CampaignCriterionService.rb +0 -1388
  647. data/lib/adwords_api/v201101/CampaignCriterionServiceDriver.rb +0 -63
  648. data/lib/adwords_api/v201101/CampaignCriterionServiceMappingRegistry.rb +0 -1601
  649. data/lib/adwords_api/v201101/CampaignCriterionServiceWrapper.rb +0 -332
  650. data/lib/adwords_api/v201101/CampaignService.rb +0 -2188
  651. data/lib/adwords_api/v201101/CampaignServiceDriver.rb +0 -63
  652. data/lib/adwords_api/v201101/CampaignServiceMappingRegistry.rb +0 -2301
  653. data/lib/adwords_api/v201101/CampaignServiceWrapper.rb +0 -332
  654. data/lib/adwords_api/v201101/CampaignTargetService.rb +0 -1616
  655. data/lib/adwords_api/v201101/CampaignTargetServiceDriver.rb +0 -63
  656. data/lib/adwords_api/v201101/CampaignTargetServiceMappingRegistry.rb +0 -1705
  657. data/lib/adwords_api/v201101/CampaignTargetServiceWrapper.rb +0 -332
  658. data/lib/adwords_api/v201101/ConversionTrackerService.rb +0 -1132
  659. data/lib/adwords_api/v201101/ConversionTrackerServiceDriver.rb +0 -63
  660. data/lib/adwords_api/v201101/ConversionTrackerServiceMappingRegistry.rb +0 -1197
  661. data/lib/adwords_api/v201101/ConversionTrackerServiceWrapper.rb +0 -332
  662. data/lib/adwords_api/v201101/CustomerSyncService.rb +0 -694
  663. data/lib/adwords_api/v201101/CustomerSyncServiceDriver.rb +0 -55
  664. data/lib/adwords_api/v201101/CustomerSyncServiceMappingRegistry.rb +0 -820
  665. data/lib/adwords_api/v201101/CustomerSyncServiceWrapper.rb +0 -303
  666. data/lib/adwords_api/v201101/DataService.rb +0 -1079
  667. data/lib/adwords_api/v201101/DataServiceDriver.rb +0 -63
  668. data/lib/adwords_api/v201101/DataServiceMappingRegistry.rb +0 -1177
  669. data/lib/adwords_api/v201101/DataServiceWrapper.rb +0 -338
  670. data/lib/adwords_api/v201101/ExperimentService.rb +0 -1256
  671. data/lib/adwords_api/v201101/ExperimentServiceDriver.rb +0 -63
  672. data/lib/adwords_api/v201101/ExperimentServiceMappingRegistry.rb +0 -1417
  673. data/lib/adwords_api/v201101/ExperimentServiceWrapper.rb +0 -332
  674. data/lib/adwords_api/v201101/GeoLocationService.rb +0 -695
  675. data/lib/adwords_api/v201101/GeoLocationServiceDriver.rb +0 -55
  676. data/lib/adwords_api/v201101/GeoLocationServiceMappingRegistry.rb +0 -843
  677. data/lib/adwords_api/v201101/GeoLocationServiceWrapper.rb +0 -303
  678. data/lib/adwords_api/v201101/InfoService.rb +0 -690
  679. data/lib/adwords_api/v201101/InfoServiceDriver.rb +0 -55
  680. data/lib/adwords_api/v201101/InfoServiceMappingRegistry.rb +0 -836
  681. data/lib/adwords_api/v201101/InfoServiceWrapper.rb +0 -303
  682. data/lib/adwords_api/v201101/MediaService.rb +0 -1247
  683. data/lib/adwords_api/v201101/MediaServiceDriver.rb +0 -63
  684. data/lib/adwords_api/v201101/MediaServiceMappingRegistry.rb +0 -1357
  685. data/lib/adwords_api/v201101/MediaServiceWrapper.rb +0 -332
  686. data/lib/adwords_api/v201101/ReportDefinitionService.rb +0 -1121
  687. data/lib/adwords_api/v201101/ReportDefinitionServiceDriver.rb +0 -71
  688. data/lib/adwords_api/v201101/ReportDefinitionServiceMappingRegistry.rb +0 -1263
  689. data/lib/adwords_api/v201101/ReportDefinitionServiceWrapper.rb +0 -392
  690. data/lib/adwords_api/v201101/ServicedAccountService.rb +0 -636
  691. data/lib/adwords_api/v201101/ServicedAccountServiceDriver.rb +0 -55
  692. data/lib/adwords_api/v201101/ServicedAccountServiceMappingRegistry.rb +0 -756
  693. data/lib/adwords_api/v201101/ServicedAccountServiceWrapper.rb +0 -303
  694. data/lib/adwords_api/v201101/TargetingIdeaService.rb +0 -2827
  695. data/lib/adwords_api/v201101/TargetingIdeaServiceDriver.rb +0 -63
  696. data/lib/adwords_api/v201101/TargetingIdeaServiceMappingRegistry.rb +0 -3262
  697. data/lib/adwords_api/v201101/TargetingIdeaServiceWrapper.rb +0 -335
  698. data/lib/adwords_api/v201101/TrafficEstimatorService.rb +0 -1839
  699. data/lib/adwords_api/v201101/TrafficEstimatorServiceDriver.rb +0 -55
  700. data/lib/adwords_api/v201101/TrafficEstimatorServiceMappingRegistry.rb +0 -2128
  701. data/lib/adwords_api/v201101/TrafficEstimatorServiceWrapper.rb +0 -303
  702. data/lib/adwords_api/v201101/UserListService.rb +0 -1206
  703. data/lib/adwords_api/v201101/UserListServiceDriver.rb +0 -63
  704. data/lib/adwords_api/v201101/UserListServiceMappingRegistry.rb +0 -1323
  705. data/lib/adwords_api/v201101/UserListServiceWrapper.rb +0 -332
@@ -1,564 +0,0 @@
1
- #!/usr/bin/ruby
2
- #
3
- # Author:: api.sgomes@gmail.com (Sérgio Gomes)
4
- #
5
- # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
6
- #
7
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
16
- # implied.
17
- # See the License for the specific language governing permissions and
18
- # limitations under the License.
19
- #
20
- # Generates the wrappers for AdWords API services. Only used during the
21
- # 'rake generate' step of library setup.
22
-
23
- module AdwordsApi
24
- module Soap4r
25
-
26
- # Contains the methods that handle wrapper code generation.
27
- module Soap4rGenerator
28
- ARRAY_CLASSNAME = 'SOAP::SOAPArray'
29
-
30
- # Should be overriden for specific APIs, to contain the API config
31
- # module.
32
- def api_config
33
- nil
34
- end
35
-
36
- # Should be overriden for specific APIs, to contain the extension config
37
- # module.
38
- def extension_config
39
- nil
40
- end
41
-
42
- # Should be overriden for specific APIs, to contain an instance of
43
- # AdsCommon::Config with the configs for the appropriate library.
44
- def config
45
- nil
46
- end
47
-
48
- # Converts from camelCase names to underscore_separated names.
49
- #
50
- # Args:
51
- # - text: the text to be converted
52
- #
53
- def underscore(text)
54
- text.gsub(/[a-z0-9][A-Z]/) do |match|
55
- match[0,1] + '_' + match[1,1].downcase
56
- end
57
- end
58
-
59
- # Generate the wrapper class for a given service.
60
- # These classes make it easier to invoke the API methods, by removing the
61
- # need to instance a <MethodName> object, instead allowing passing of the
62
- # call parameters directly.
63
- #
64
- # Args:
65
- # - version: the API version (as an integer)
66
- # - service: the service name (as a string)
67
- #
68
- # Returns:
69
- # The Ruby code for the class, as a string.
70
- #
71
- def generate_wrapper_class(version, service)
72
- wrapper = service.to_s + "Wrapper"
73
- module_name = api_config.module_name(version, service)
74
- driver = api_config.interface_name(version, service)
75
- driver_class = eval(driver)
76
- api_name = api_config.api_name
77
-
78
- registry =
79
- eval("#{module_name}::DefaultMappingRegistry::LiteralRegistry")
80
-
81
- class_def = <<-EOS
82
- # This file was automatically generated during the "rake generate" step of
83
- # library setup.
84
- require '#{api_config.api_path}/#{version}/#{service}Driver.rb'
85
-
86
- module #{api_name}
87
- module #{version.to_s.upcase}
88
- module #{service}
89
-
90
- # Wrapper class for the #{version.to_s} #{service} service.
91
- # This class is automatically generated.
92
- class #{wrapper}
93
-
94
- # Holds the API object to which the wrapper belongs.
95
- attr_reader :api
96
-
97
- # Version and service utility fields.
98
- attr_reader :version, :service
99
-
100
- REGISTRY = #{module_name}::DefaultMappingRegistry::LiteralRegistry
101
- # This takes advantage of the code generated by soap4r to get the
102
- # correct namespace for a given service. It accesses one of the fields
103
- # in the description of the service's methods, which indicates the
104
- # namespace.
105
- # Since we're using a fixed version of soap4r (1.5.8), and this is
106
- # automatically generated as part of the stub generation, it will
107
- # always point to what we want.
108
- NAMESPACE = '#{driver_class::Methods[0][2][0][2][1]}'
109
-
110
- # Holds a shortcut to the parent module.
111
- # Use this to avoid typing the full class name when creating classes
112
- # belonging to this service, e.g.
113
- # service_object.module::ClassName
114
- # instead of
115
- # #{api_name}::#{version.to_s.upcase}::#{service}::ClassName
116
- # This will make it easier to migrate your code between API versions.
117
- attr_reader :module
118
-
119
- public
120
-
121
- # Constructor for #{wrapper}.
122
- #
123
- # Args:
124
- # - driver: SOAP::RPC::Driver object with the remote SOAP methods for
125
- # this service
126
- # - api: the API object to which the wrapper belongs
127
- #
128
- def initialize(driver, api)
129
- @driver = driver
130
- @api = api
131
- @module = #{api_name}::#{version.to_s.upcase}::#{service}
132
- @version = :#{version}
133
- @service = :#{service}
134
- end
135
-
136
- # Returns the namespace for this service.
137
- def namespace
138
- return NAMESPACE
139
- end
140
-
141
- private
142
-
143
- # Converts from underscore_separated names to camelCase names.
144
- #
145
- # Args:
146
- # - text: the text to be converted
147
- #
148
- def camel_case(text)
149
- text.gsub(/_\\w/) {|match| match[1..-1].upcase}
150
- end
151
-
152
- # Converts from camelCase names to underscore_separated names.
153
- #
154
- # Args:
155
- # - text: the text to be converted
156
- #
157
- def underscore(text)
158
- text.gsub(/[a-z0-9][A-Z]/) do |match|
159
- match[0,1] + '_' + match[1,1].downcase
160
- end
161
- end
162
-
163
- # Validates whether an object is of the correct type.
164
- # This method is invoked by the hash to object converter during
165
- # runtime to check the type validity of every object.
166
- #
167
- # Args:
168
- # - object: the hash "object" being evaluated
169
- # - type: the expected type (the class object itself)
170
- #
171
- # Returns:
172
- # nil, upon success
173
- #
174
- # Raises:
175
- # - ArgumentError: in case of an unexpected type
176
- #
177
- def validate_object(object, type)
178
- return nil if object.is_a? type
179
-
180
- wsdl_type_obj = type.new
181
-
182
- if object.is_a? Hash
183
- xsi_type = object[:xsi_type] or object['xsi_type']
184
- if xsi_type
185
- begin
186
- subtype = @module.class_eval(xsi_type)
187
- user_type_obj = subtype.new
188
- rescue
189
- raise ArgumentError, "Specified xsi_type '" + xsi_type +
190
- "' is unknown"
191
- end
192
- unless user_type_obj.is_a? type
193
- raise ArgumentError, "Specified xsi_type '" + xsi_type +
194
- "' is not a subclass of " + type.to_s
195
- end
196
- else
197
- object.each do |key, value|
198
- if key.to_s != 'xsi_type'
199
- if !wsdl_type_obj.respond_to?(camel_case(key.to_s).to_sym)
200
- raise ArgumentError, "Unknown property '" + key.to_s +
201
- "' for type " + type.to_s
202
- end
203
- end
204
- end
205
- end
206
- end
207
- return nil
208
- end
209
-
210
- # Sets a property on a real (soap4r-generated) object.
211
- #
212
- # Args:
213
- # - object: the object being modified
214
- # - property: the property being set
215
- # - value: the value it's being set to
216
- #
217
- def set_object_property(object, property, value)
218
- begin
219
- object.send(property.to_s + '=', value)
220
- rescue
221
- object_class = object.class.name.split('::').last
222
- error = AdsCommon::Errors::MissingPropertyError.new(
223
- property, object_class)
224
- message = "'Missing property `" + property.to_s +
225
- "' for object class `" + object_class + "'"
226
- raise(error, message)
227
- end
228
- end
229
-
230
- public
231
-
232
- # Converts dynamic objects (property hashes) into real soap4r objects.
233
- # This is meant to be called when setting properties on a class, so
234
- # the method receives an optional parameter specifying the class and
235
- # property. This way, it's possible to determine the default type for
236
- # the object if none is provided.
237
- #
238
- # Args:
239
- # - object: the object being converted
240
- # - parent_class: the class whose property is being set
241
- # - property: the property being set
242
- #
243
- def convert_to_object(object, parent_class = nil, property = nil)
244
- property = camel_case(property.to_s) if property
245
- if object.is_a? Hash
246
- # Process a hash.
247
- specified_class = object[:xsi_type] or object['xsi_type']
248
- default_class = nil
249
- # Determine default class for this object, given the property
250
- # being set.
251
- if parent_class and property
252
- parent = REGISTRY.schema_definition_from_class(parent_class)
253
- element = parent.elements.entries.find do |entry|
254
- entry.varname.to_s == property.to_s
255
- end
256
- default_class = element.mapped_class if element
257
- end
258
- validate_object(object, default_class)
259
- real_class = nil
260
- if specified_class
261
- real_class = @module.class_eval(specified_class)
262
- else
263
- real_class = default_class
264
- end
265
- # Instance real object.
266
- real_object = real_class.new
267
- # Set each of its properties.
268
- object.each do |entry, value|
269
- entry = entry.to_s
270
- unless entry == 'xsi_type'
271
- if @api.config.read('service.use_ruby_names', true)
272
- entry = camel_case(entry)
273
- end
274
- if value.is_a? Hash
275
- # Recurse.
276
- set_object_property(real_object, entry,
277
- convert_to_object(value, real_class, entry))
278
- elsif value.is_a? Array
279
- set_object_property(real_object, entry,
280
- value.map do |item|
281
- # Recurse.
282
- convert_to_object(item, real_class, entry)
283
- end
284
- )
285
- else
286
- set_object_property(real_object, entry, value)
287
- end
288
- end
289
- end
290
- return real_object
291
- elsif object.is_a? Array
292
- # Process an array
293
- return object.map do |entry|
294
- # Recurse.
295
- convert_to_object(entry, parent_class, property)
296
- end
297
- else
298
- return object
299
- end
300
- end
301
-
302
- # Converts real soap4r objects into dynamic ones (property hashes).
303
- # This is meant to be called for return objects of remote calls.
304
- #
305
- # Args:
306
- # - object: the object being converted
307
- #
308
- def convert_from_object(object)
309
- if object.class.name =~
310
- /#{api_config.api_name}::#{version.to_s.upcase}::\\w+::\\w+/
311
- # Handle soap4r object
312
- object_class = REGISTRY.schema_definition_from_class(object.class)
313
- if object_class.elements and !object_class.elements.entries.empty?
314
- # Process complex object.
315
- hash = {}
316
- hash[:xsi_type] = object.class.name.split('::').last
317
- object_class.elements.entries.each do |entry|
318
- property = entry.varname.to_s
319
- if object.respond_to? property and !property.include?('_Type')
320
- value = object.send(property)
321
- property_name = nil
322
- if @api.config.read('service.use_ruby_names', true)
323
- property_name = underscore(property).to_sym
324
- else
325
- property_name = property.to_sym
326
- end
327
- # Recurse.
328
- hash[property_name] = convert_from_object(value) if value
329
- end
330
- end
331
- return hash
332
- else
333
- # Process simple object.
334
- parent = object.class.superclass
335
- return parent.new(object)
336
- end
337
- elsif object.is_a? Array
338
- # Handle arrays
339
- return object.map do |entry|
340
- # Recurse.
341
- convert_from_object(entry)
342
- end
343
- else
344
- # Handle native objects
345
- return object
346
- end
347
- end
348
-
349
-
350
- public
351
-
352
- EOS
353
-
354
- # Add service methods
355
- methods = driver_class::Methods
356
- module_name = api_config.module_name(version, service)
357
- methods.each do |method|
358
- name = method[1]
359
- doc_link = doc_link(version, service, name)
360
- method_def = <<-EOS
361
- # Calls the {#{name}}[#{doc_link}] method of the #{service} service.
362
- # Check {the online documentation for this method}[#{doc_link}].
363
- EOS
364
-
365
- begin
366
- method_class = eval("#{module_name}::#{fix_case_up(name)}")
367
- arguments =
368
- registry.schema_definition_from_class(method_class).elements
369
- rescue
370
- method_class = nil
371
- arguments = nil
372
- end
373
-
374
- if arguments and arguments.size > 0
375
- method_def += <<-EOS
376
- #
377
- # Args:
378
- EOS
379
- end
380
-
381
- if arguments
382
- # Add list of arguments to the RDoc comment
383
- arguments.each_with_index do |elem, index|
384
- if type(elem) == ARRAY_CLASSNAME
385
- method_def += <<-EOS
386
- # - #{elem.varname}: #{type(elem)} of #{elem.mapped_class}
387
- EOS
388
- else
389
- method_def += <<-EOS
390
- # - #{elem.varname}: #{type(elem)}
391
- EOS
392
- end
393
- end
394
- end
395
-
396
- begin
397
- response_class =
398
- eval("#{module_name}::#{fix_case_up(name)}Response")
399
- returns =
400
- registry.schema_definition_from_class(response_class).elements
401
-
402
- if returns.size > 0
403
- method_def += <<-EOS
404
- #
405
- # Returns:
406
- EOS
407
- end
408
-
409
- # Add list of returns to the RDoc comment
410
- returns.each_with_index do |elem, index|
411
- if type(elem) == ARRAY_CLASSNAME
412
- method_def += <<-EOS
413
- # - #{elem.varname}: #{type(elem)} of #{elem.mapped_class}
414
- EOS
415
- else
416
- method_def += <<-EOS
417
- # - #{elem.varname}: #{type(elem)}
418
- EOS
419
- end
420
- end
421
- rescue
422
- method_def += <<-EOS
423
- #
424
- # Returns:
425
- EOS
426
- end
427
-
428
- arg_names = arguments ? arguments.map {|elem| elem.varname} : []
429
- arg_list = arg_names.join(', ')
430
-
431
- method_def += <<-EOS
432
- #
433
- # Raises:
434
- # Error::ApiError (or a subclass thereof) if a SOAP fault occurs.
435
- #
436
- def #{name}(#{arg_list})
437
- begin
438
- arg_array = []
439
- EOS
440
-
441
- # Add validation for every argument
442
- if arguments
443
- arguments.each_with_index do |elem, index|
444
- method_def += <<-EOS
445
- validate_object(#{arg_names[index]}, #{type(elem)})
446
- arg_array << convert_to_object(#{elem.varname}, #{method_class},
447
- '#{elem.varname}')
448
- EOS
449
- end
450
- end
451
-
452
- method_def += <<-EOS
453
- # Construct request object and make API call
454
- EOS
455
-
456
- if arguments
457
- method_def += <<-EOS
458
- obj = #{module_name}::#{fix_case_up(name)}.new(*arg_array)
459
- reply = convert_from_object(@driver.#{name}(obj))
460
- EOS
461
- else
462
- method_def += <<-EOS
463
- reply = convert_from_object(@driver.#{name}())
464
- EOS
465
- end
466
-
467
- method_def += <<-EOS
468
- reply = reply[:rval] if reply.include?(:rval)
469
- return reply
470
- rescue SOAP::FaultError => fault
471
- raise #{api_config.api_name}::Errors.create_api_exception(fault,
472
- self)
473
- end
474
- end
475
-
476
- EOS
477
- class_def += method_def
478
-
479
- if name != underscore(name)
480
- class_def += <<-EOS
481
- alias #{underscore(name)} #{name}\n
482
-
483
- EOS
484
- end
485
- end
486
-
487
- # Add extension methods, if any
488
- extensions = extension_config.extensions[[version, service]]
489
- unless extensions.nil?
490
- extensions.each do |ext|
491
- params = extension_config.methods[ext].join(', ')
492
- arglist = 'self'
493
- arglist += ", #{params}" if params != ''
494
- method_def = <<-EOS
495
- # <i>Extension method</i> -- Calls the
496
- # #{api_config.api_name}::Extensions.#{ext} method with +self+ as the
497
- # first parameter.
498
- def #{ext}(#{params})
499
- return #{api_config.api_name}::Extensions.#{ext}(#{arglist})
500
- end
501
-
502
- EOS
503
- class_def += method_def
504
- end
505
- end
506
-
507
- class_def += <<-EOS
508
- end
509
- end
510
- end
511
- end
512
- EOS
513
- return class_def
514
- end
515
-
516
- # Helper method to fix a method name from lowerCamelCase to CamelCase.
517
- #
518
- # Args:
519
- # - name: the method name
520
- #
521
- # Returns:
522
- # The fixed name.
523
- #
524
- def fix_case_up(name)
525
- return name[0, 1].upcase + name[1..-1]
526
- end
527
-
528
- # Helper method to create a link to a method's entry in the API online
529
- # docs.
530
- #
531
- # Args:
532
- # - version: the API version (as an integer)
533
- # - service: the service name (as a string)
534
- # - method: the method name (as a string)
535
- #
536
- # Returns:
537
- # The URL to the method's entry in the documentation (as a string).
538
- # +nil+ if none.
539
- #
540
- def doc_link(version, service, method)
541
- return nil
542
- end
543
-
544
- # Helper method to return the expected type for a parameter, given the
545
- # SchemaElementDefinition.
546
- #
547
- # Args:
548
- # - element: SOAP::Mapping::SchemaElementDefinition element for the
549
- # parameter (taken from the schema definition of the class)
550
- #
551
- # Returns:
552
- # The full name for the expected parameter type (as a String)
553
- #
554
- def type(element)
555
- # Check if it's an array
556
- if element.as_array?
557
- return ARRAY_CLASSNAME
558
- else
559
- return element.mapped_class
560
- end
561
- end
562
- end
563
- end
564
- end