google-adwords-api 1.4.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (438) hide show
  1. checksums.yaml +4 -4
  2. data/COPYING +0 -0
  3. data/ChangeLog +10 -0
  4. data/README.md +9 -236
  5. data/lib/adwords_api.rb +2 -234
  6. metadata +8 -440
  7. data/adwords_api.yml +0 -53
  8. data/lib/adwords_api/api_config.rb +0 -333
  9. data/lib/adwords_api/batch_job_utils.rb +0 -334
  10. data/lib/adwords_api/credential_handler.rb +0 -96
  11. data/lib/adwords_api/errors.rb +0 -110
  12. data/lib/adwords_api/incremental_upload_helper.rb +0 -75
  13. data/lib/adwords_api/query_utils/query_builder.rb +0 -41
  14. data/lib/adwords_api/query_utils/report_query.rb +0 -30
  15. data/lib/adwords_api/query_utils/report_query_builder.rb +0 -82
  16. data/lib/adwords_api/query_utils/service_query.rb +0 -62
  17. data/lib/adwords_api/query_utils/service_query_builder.rb +0 -83
  18. data/lib/adwords_api/query_utils/where_builder.rb +0 -97
  19. data/lib/adwords_api/report_header_handler.rb +0 -80
  20. data/lib/adwords_api/report_stream.rb +0 -70
  21. data/lib/adwords_api/report_utils.rb +0 -383
  22. data/lib/adwords_api/utils.rb +0 -56
  23. data/lib/adwords_api/utils_reporter.rb +0 -58
  24. data/lib/adwords_api/v201710/account_label_service.rb +0 -46
  25. data/lib/adwords_api/v201710/account_label_service_registry.rb +0 -46
  26. data/lib/adwords_api/v201710/ad_customizer_feed_service.rb +0 -46
  27. data/lib/adwords_api/v201710/ad_customizer_feed_service_registry.rb +0 -46
  28. data/lib/adwords_api/v201710/ad_group_ad_service.rb +0 -62
  29. data/lib/adwords_api/v201710/ad_group_ad_service_registry.rb +0 -46
  30. data/lib/adwords_api/v201710/ad_group_bid_modifier_service.rb +0 -54
  31. data/lib/adwords_api/v201710/ad_group_bid_modifier_service_registry.rb +0 -46
  32. data/lib/adwords_api/v201710/ad_group_criterion_service.rb +0 -62
  33. data/lib/adwords_api/v201710/ad_group_criterion_service_registry.rb +0 -46
  34. data/lib/adwords_api/v201710/ad_group_extension_setting_service.rb +0 -54
  35. data/lib/adwords_api/v201710/ad_group_extension_setting_service_registry.rb +0 -46
  36. data/lib/adwords_api/v201710/ad_group_feed_service.rb +0 -54
  37. data/lib/adwords_api/v201710/ad_group_feed_service_registry.rb +0 -46
  38. data/lib/adwords_api/v201710/ad_group_service.rb +0 -62
  39. data/lib/adwords_api/v201710/ad_group_service_registry.rb +0 -46
  40. data/lib/adwords_api/v201710/ad_param_service.rb +0 -46
  41. data/lib/adwords_api/v201710/ad_param_service_registry.rb +0 -46
  42. data/lib/adwords_api/v201710/adwords_user_list_service.rb +0 -62
  43. data/lib/adwords_api/v201710/adwords_user_list_service_registry.rb +0 -46
  44. data/lib/adwords_api/v201710/batch_job_service.rb +0 -54
  45. data/lib/adwords_api/v201710/batch_job_service_registry.rb +0 -46
  46. data/lib/adwords_api/v201710/bidding_strategy_service.rb +0 -54
  47. data/lib/adwords_api/v201710/bidding_strategy_service_registry.rb +0 -46
  48. data/lib/adwords_api/v201710/budget_order_service.rb +0 -54
  49. data/lib/adwords_api/v201710/budget_order_service_registry.rb +0 -46
  50. data/lib/adwords_api/v201710/budget_service.rb +0 -54
  51. data/lib/adwords_api/v201710/budget_service_registry.rb +0 -46
  52. data/lib/adwords_api/v201710/campaign_bid_modifier_service.rb +0 -54
  53. data/lib/adwords_api/v201710/campaign_bid_modifier_service_registry.rb +0 -46
  54. data/lib/adwords_api/v201710/campaign_criterion_service.rb +0 -54
  55. data/lib/adwords_api/v201710/campaign_criterion_service_registry.rb +0 -46
  56. data/lib/adwords_api/v201710/campaign_extension_setting_service.rb +0 -54
  57. data/lib/adwords_api/v201710/campaign_extension_setting_service_registry.rb +0 -46
  58. data/lib/adwords_api/v201710/campaign_feed_service.rb +0 -54
  59. data/lib/adwords_api/v201710/campaign_feed_service_registry.rb +0 -46
  60. data/lib/adwords_api/v201710/campaign_group_performance_target_service.rb +0 -46
  61. data/lib/adwords_api/v201710/campaign_group_performance_target_service_registry.rb +0 -46
  62. data/lib/adwords_api/v201710/campaign_group_service.rb +0 -46
  63. data/lib/adwords_api/v201710/campaign_group_service_registry.rb +0 -46
  64. data/lib/adwords_api/v201710/campaign_service.rb +0 -62
  65. data/lib/adwords_api/v201710/campaign_service_registry.rb +0 -46
  66. data/lib/adwords_api/v201710/campaign_shared_set_service.rb +0 -54
  67. data/lib/adwords_api/v201710/campaign_shared_set_service_registry.rb +0 -46
  68. data/lib/adwords_api/v201710/constant_data_service.rb +0 -110
  69. data/lib/adwords_api/v201710/constant_data_service_registry.rb +0 -46
  70. data/lib/adwords_api/v201710/conversion_tracker_service.rb +0 -54
  71. data/lib/adwords_api/v201710/conversion_tracker_service_registry.rb +0 -46
  72. data/lib/adwords_api/v201710/customer_extension_setting_service.rb +0 -54
  73. data/lib/adwords_api/v201710/customer_extension_setting_service_registry.rb +0 -46
  74. data/lib/adwords_api/v201710/customer_feed_service.rb +0 -54
  75. data/lib/adwords_api/v201710/customer_feed_service_registry.rb +0 -46
  76. data/lib/adwords_api/v201710/customer_negative_criterion_service.rb +0 -54
  77. data/lib/adwords_api/v201710/customer_negative_criterion_service_registry.rb +0 -46
  78. data/lib/adwords_api/v201710/customer_service.rb +0 -62
  79. data/lib/adwords_api/v201710/customer_service_registry.rb +0 -46
  80. data/lib/adwords_api/v201710/customer_sync_service.rb +0 -38
  81. data/lib/adwords_api/v201710/customer_sync_service_registry.rb +0 -47
  82. data/lib/adwords_api/v201710/data_service.rb +0 -94
  83. data/lib/adwords_api/v201710/data_service_registry.rb +0 -46
  84. data/lib/adwords_api/v201710/draft_async_error_service.rb +0 -46
  85. data/lib/adwords_api/v201710/draft_async_error_service_registry.rb +0 -46
  86. data/lib/adwords_api/v201710/draft_service.rb +0 -54
  87. data/lib/adwords_api/v201710/draft_service_registry.rb +0 -46
  88. data/lib/adwords_api/v201710/feed_item_service.rb +0 -54
  89. data/lib/adwords_api/v201710/feed_item_service_registry.rb +0 -46
  90. data/lib/adwords_api/v201710/feed_mapping_service.rb +0 -54
  91. data/lib/adwords_api/v201710/feed_mapping_service_registry.rb +0 -46
  92. data/lib/adwords_api/v201710/feed_service.rb +0 -54
  93. data/lib/adwords_api/v201710/feed_service_registry.rb +0 -46
  94. data/lib/adwords_api/v201710/label_service.rb +0 -54
  95. data/lib/adwords_api/v201710/label_service_registry.rb +0 -46
  96. data/lib/adwords_api/v201710/location_criterion_service.rb +0 -46
  97. data/lib/adwords_api/v201710/location_criterion_service_registry.rb +0 -46
  98. data/lib/adwords_api/v201710/managed_customer_service.rb +0 -78
  99. data/lib/adwords_api/v201710/managed_customer_service_registry.rb +0 -46
  100. data/lib/adwords_api/v201710/media_service.rb +0 -54
  101. data/lib/adwords_api/v201710/media_service_registry.rb +0 -46
  102. data/lib/adwords_api/v201710/offline_call_conversion_feed_service.rb +0 -38
  103. data/lib/adwords_api/v201710/offline_call_conversion_feed_service_registry.rb +0 -46
  104. data/lib/adwords_api/v201710/offline_conversion_feed_service.rb +0 -38
  105. data/lib/adwords_api/v201710/offline_conversion_feed_service_registry.rb +0 -46
  106. data/lib/adwords_api/v201710/offline_data_upload_service.rb +0 -46
  107. data/lib/adwords_api/v201710/offline_data_upload_service_registry.rb +0 -46
  108. data/lib/adwords_api/v201710/report_definition_service.rb +0 -38
  109. data/lib/adwords_api/v201710/report_definition_service_registry.rb +0 -46
  110. data/lib/adwords_api/v201710/shared_criterion_service.rb +0 -54
  111. data/lib/adwords_api/v201710/shared_criterion_service_registry.rb +0 -46
  112. data/lib/adwords_api/v201710/shared_set_service.rb +0 -54
  113. data/lib/adwords_api/v201710/shared_set_service_registry.rb +0 -46
  114. data/lib/adwords_api/v201710/targeting_idea_service.rb +0 -38
  115. data/lib/adwords_api/v201710/targeting_idea_service_registry.rb +0 -46
  116. data/lib/adwords_api/v201710/traffic_estimator_service.rb +0 -38
  117. data/lib/adwords_api/v201710/traffic_estimator_service_registry.rb +0 -46
  118. data/lib/adwords_api/v201710/trial_async_error_service.rb +0 -46
  119. data/lib/adwords_api/v201710/trial_async_error_service_registry.rb +0 -46
  120. data/lib/adwords_api/v201710/trial_service.rb +0 -54
  121. data/lib/adwords_api/v201710/trial_service_registry.rb +0 -46
  122. data/lib/adwords_api/v201802/account_label_service.rb +0 -46
  123. data/lib/adwords_api/v201802/account_label_service_registry.rb +0 -46
  124. data/lib/adwords_api/v201802/ad_customizer_feed_service.rb +0 -46
  125. data/lib/adwords_api/v201802/ad_customizer_feed_service_registry.rb +0 -46
  126. data/lib/adwords_api/v201802/ad_group_ad_service.rb +0 -62
  127. data/lib/adwords_api/v201802/ad_group_ad_service_registry.rb +0 -46
  128. data/lib/adwords_api/v201802/ad_group_bid_modifier_service.rb +0 -54
  129. data/lib/adwords_api/v201802/ad_group_bid_modifier_service_registry.rb +0 -46
  130. data/lib/adwords_api/v201802/ad_group_criterion_service.rb +0 -62
  131. data/lib/adwords_api/v201802/ad_group_criterion_service_registry.rb +0 -46
  132. data/lib/adwords_api/v201802/ad_group_extension_setting_service.rb +0 -54
  133. data/lib/adwords_api/v201802/ad_group_extension_setting_service_registry.rb +0 -46
  134. data/lib/adwords_api/v201802/ad_group_feed_service.rb +0 -54
  135. data/lib/adwords_api/v201802/ad_group_feed_service_registry.rb +0 -46
  136. data/lib/adwords_api/v201802/ad_group_service.rb +0 -62
  137. data/lib/adwords_api/v201802/ad_group_service_registry.rb +0 -46
  138. data/lib/adwords_api/v201802/ad_param_service.rb +0 -46
  139. data/lib/adwords_api/v201802/ad_param_service_registry.rb +0 -46
  140. data/lib/adwords_api/v201802/adwords_user_list_service.rb +0 -62
  141. data/lib/adwords_api/v201802/adwords_user_list_service_registry.rb +0 -46
  142. data/lib/adwords_api/v201802/batch_job_service.rb +0 -54
  143. data/lib/adwords_api/v201802/batch_job_service_registry.rb +0 -46
  144. data/lib/adwords_api/v201802/bidding_strategy_service.rb +0 -54
  145. data/lib/adwords_api/v201802/bidding_strategy_service_registry.rb +0 -46
  146. data/lib/adwords_api/v201802/budget_order_service.rb +0 -54
  147. data/lib/adwords_api/v201802/budget_order_service_registry.rb +0 -46
  148. data/lib/adwords_api/v201802/budget_service.rb +0 -54
  149. data/lib/adwords_api/v201802/budget_service_registry.rb +0 -46
  150. data/lib/adwords_api/v201802/campaign_bid_modifier_service.rb +0 -54
  151. data/lib/adwords_api/v201802/campaign_bid_modifier_service_registry.rb +0 -46
  152. data/lib/adwords_api/v201802/campaign_criterion_service.rb +0 -54
  153. data/lib/adwords_api/v201802/campaign_criterion_service_registry.rb +0 -46
  154. data/lib/adwords_api/v201802/campaign_extension_setting_service.rb +0 -54
  155. data/lib/adwords_api/v201802/campaign_extension_setting_service_registry.rb +0 -46
  156. data/lib/adwords_api/v201802/campaign_feed_service.rb +0 -54
  157. data/lib/adwords_api/v201802/campaign_feed_service_registry.rb +0 -46
  158. data/lib/adwords_api/v201802/campaign_group_performance_target_service.rb +0 -46
  159. data/lib/adwords_api/v201802/campaign_group_performance_target_service_registry.rb +0 -46
  160. data/lib/adwords_api/v201802/campaign_group_service.rb +0 -46
  161. data/lib/adwords_api/v201802/campaign_group_service_registry.rb +0 -46
  162. data/lib/adwords_api/v201802/campaign_service.rb +0 -62
  163. data/lib/adwords_api/v201802/campaign_service_registry.rb +0 -46
  164. data/lib/adwords_api/v201802/campaign_shared_set_service.rb +0 -54
  165. data/lib/adwords_api/v201802/campaign_shared_set_service_registry.rb +0 -46
  166. data/lib/adwords_api/v201802/constant_data_service.rb +0 -110
  167. data/lib/adwords_api/v201802/constant_data_service_registry.rb +0 -46
  168. data/lib/adwords_api/v201802/conversion_tracker_service.rb +0 -54
  169. data/lib/adwords_api/v201802/conversion_tracker_service_registry.rb +0 -46
  170. data/lib/adwords_api/v201802/customer_extension_setting_service.rb +0 -54
  171. data/lib/adwords_api/v201802/customer_extension_setting_service_registry.rb +0 -46
  172. data/lib/adwords_api/v201802/customer_feed_service.rb +0 -54
  173. data/lib/adwords_api/v201802/customer_feed_service_registry.rb +0 -46
  174. data/lib/adwords_api/v201802/customer_negative_criterion_service.rb +0 -54
  175. data/lib/adwords_api/v201802/customer_negative_criterion_service_registry.rb +0 -46
  176. data/lib/adwords_api/v201802/customer_service.rb +0 -62
  177. data/lib/adwords_api/v201802/customer_service_registry.rb +0 -46
  178. data/lib/adwords_api/v201802/customer_sync_service.rb +0 -38
  179. data/lib/adwords_api/v201802/customer_sync_service_registry.rb +0 -47
  180. data/lib/adwords_api/v201802/data_service.rb +0 -94
  181. data/lib/adwords_api/v201802/data_service_registry.rb +0 -46
  182. data/lib/adwords_api/v201802/draft_async_error_service.rb +0 -46
  183. data/lib/adwords_api/v201802/draft_async_error_service_registry.rb +0 -46
  184. data/lib/adwords_api/v201802/draft_service.rb +0 -54
  185. data/lib/adwords_api/v201802/draft_service_registry.rb +0 -46
  186. data/lib/adwords_api/v201802/feed_item_service.rb +0 -54
  187. data/lib/adwords_api/v201802/feed_item_service_registry.rb +0 -46
  188. data/lib/adwords_api/v201802/feed_item_target_service.rb +0 -54
  189. data/lib/adwords_api/v201802/feed_item_target_service_registry.rb +0 -46
  190. data/lib/adwords_api/v201802/feed_mapping_service.rb +0 -54
  191. data/lib/adwords_api/v201802/feed_mapping_service_registry.rb +0 -46
  192. data/lib/adwords_api/v201802/feed_service.rb +0 -54
  193. data/lib/adwords_api/v201802/feed_service_registry.rb +0 -46
  194. data/lib/adwords_api/v201802/label_service.rb +0 -54
  195. data/lib/adwords_api/v201802/label_service_registry.rb +0 -46
  196. data/lib/adwords_api/v201802/location_criterion_service.rb +0 -46
  197. data/lib/adwords_api/v201802/location_criterion_service_registry.rb +0 -46
  198. data/lib/adwords_api/v201802/managed_customer_service.rb +0 -78
  199. data/lib/adwords_api/v201802/managed_customer_service_registry.rb +0 -46
  200. data/lib/adwords_api/v201802/media_service.rb +0 -54
  201. data/lib/adwords_api/v201802/media_service_registry.rb +0 -46
  202. data/lib/adwords_api/v201802/offline_call_conversion_feed_service.rb +0 -38
  203. data/lib/adwords_api/v201802/offline_call_conversion_feed_service_registry.rb +0 -46
  204. data/lib/adwords_api/v201802/offline_conversion_feed_service.rb +0 -38
  205. data/lib/adwords_api/v201802/offline_conversion_feed_service_registry.rb +0 -46
  206. data/lib/adwords_api/v201802/offline_data_upload_service.rb +0 -46
  207. data/lib/adwords_api/v201802/offline_data_upload_service_registry.rb +0 -46
  208. data/lib/adwords_api/v201802/report_definition_service.rb +0 -38
  209. data/lib/adwords_api/v201802/report_definition_service_registry.rb +0 -46
  210. data/lib/adwords_api/v201802/shared_criterion_service.rb +0 -54
  211. data/lib/adwords_api/v201802/shared_criterion_service_registry.rb +0 -46
  212. data/lib/adwords_api/v201802/shared_set_service.rb +0 -54
  213. data/lib/adwords_api/v201802/shared_set_service_registry.rb +0 -46
  214. data/lib/adwords_api/v201802/targeting_idea_service.rb +0 -38
  215. data/lib/adwords_api/v201802/targeting_idea_service_registry.rb +0 -46
  216. data/lib/adwords_api/v201802/traffic_estimator_service.rb +0 -38
  217. data/lib/adwords_api/v201802/traffic_estimator_service_registry.rb +0 -46
  218. data/lib/adwords_api/v201802/trial_async_error_service.rb +0 -46
  219. data/lib/adwords_api/v201802/trial_async_error_service_registry.rb +0 -46
  220. data/lib/adwords_api/v201802/trial_service.rb +0 -54
  221. data/lib/adwords_api/v201802/trial_service_registry.rb +0 -46
  222. data/lib/adwords_api/v201806/account_label_service.rb +0 -46
  223. data/lib/adwords_api/v201806/account_label_service_registry.rb +0 -46
  224. data/lib/adwords_api/v201806/ad_customizer_feed_service.rb +0 -46
  225. data/lib/adwords_api/v201806/ad_customizer_feed_service_registry.rb +0 -46
  226. data/lib/adwords_api/v201806/ad_group_ad_service.rb +0 -62
  227. data/lib/adwords_api/v201806/ad_group_ad_service_registry.rb +0 -46
  228. data/lib/adwords_api/v201806/ad_group_bid_modifier_service.rb +0 -54
  229. data/lib/adwords_api/v201806/ad_group_bid_modifier_service_registry.rb +0 -46
  230. data/lib/adwords_api/v201806/ad_group_criterion_service.rb +0 -62
  231. data/lib/adwords_api/v201806/ad_group_criterion_service_registry.rb +0 -46
  232. data/lib/adwords_api/v201806/ad_group_extension_setting_service.rb +0 -54
  233. data/lib/adwords_api/v201806/ad_group_extension_setting_service_registry.rb +0 -46
  234. data/lib/adwords_api/v201806/ad_group_feed_service.rb +0 -54
  235. data/lib/adwords_api/v201806/ad_group_feed_service_registry.rb +0 -46
  236. data/lib/adwords_api/v201806/ad_group_service.rb +0 -62
  237. data/lib/adwords_api/v201806/ad_group_service_registry.rb +0 -46
  238. data/lib/adwords_api/v201806/ad_param_service.rb +0 -46
  239. data/lib/adwords_api/v201806/ad_param_service_registry.rb +0 -46
  240. data/lib/adwords_api/v201806/ad_service.rb +0 -46
  241. data/lib/adwords_api/v201806/ad_service_registry.rb +0 -46
  242. data/lib/adwords_api/v201806/adwords_user_list_service.rb +0 -62
  243. data/lib/adwords_api/v201806/adwords_user_list_service_registry.rb +0 -46
  244. data/lib/adwords_api/v201806/asset_service.rb +0 -46
  245. data/lib/adwords_api/v201806/asset_service_registry.rb +0 -46
  246. data/lib/adwords_api/v201806/batch_job_service.rb +0 -54
  247. data/lib/adwords_api/v201806/batch_job_service_registry.rb +0 -46
  248. data/lib/adwords_api/v201806/bidding_strategy_service.rb +0 -54
  249. data/lib/adwords_api/v201806/bidding_strategy_service_registry.rb +0 -46
  250. data/lib/adwords_api/v201806/budget_order_service.rb +0 -54
  251. data/lib/adwords_api/v201806/budget_order_service_registry.rb +0 -46
  252. data/lib/adwords_api/v201806/budget_service.rb +0 -54
  253. data/lib/adwords_api/v201806/budget_service_registry.rb +0 -46
  254. data/lib/adwords_api/v201806/campaign_bid_modifier_service.rb +0 -54
  255. data/lib/adwords_api/v201806/campaign_bid_modifier_service_registry.rb +0 -46
  256. data/lib/adwords_api/v201806/campaign_criterion_service.rb +0 -54
  257. data/lib/adwords_api/v201806/campaign_criterion_service_registry.rb +0 -46
  258. data/lib/adwords_api/v201806/campaign_extension_setting_service.rb +0 -54
  259. data/lib/adwords_api/v201806/campaign_extension_setting_service_registry.rb +0 -46
  260. data/lib/adwords_api/v201806/campaign_feed_service.rb +0 -54
  261. data/lib/adwords_api/v201806/campaign_feed_service_registry.rb +0 -46
  262. data/lib/adwords_api/v201806/campaign_group_performance_target_service.rb +0 -46
  263. data/lib/adwords_api/v201806/campaign_group_performance_target_service_registry.rb +0 -46
  264. data/lib/adwords_api/v201806/campaign_group_service.rb +0 -46
  265. data/lib/adwords_api/v201806/campaign_group_service_registry.rb +0 -46
  266. data/lib/adwords_api/v201806/campaign_service.rb +0 -62
  267. data/lib/adwords_api/v201806/campaign_service_registry.rb +0 -46
  268. data/lib/adwords_api/v201806/campaign_shared_set_service.rb +0 -54
  269. data/lib/adwords_api/v201806/campaign_shared_set_service_registry.rb +0 -46
  270. data/lib/adwords_api/v201806/constant_data_service.rb +0 -110
  271. data/lib/adwords_api/v201806/constant_data_service_registry.rb +0 -46
  272. data/lib/adwords_api/v201806/conversion_tracker_service.rb +0 -54
  273. data/lib/adwords_api/v201806/conversion_tracker_service_registry.rb +0 -46
  274. data/lib/adwords_api/v201806/custom_affinity_service.rb +0 -62
  275. data/lib/adwords_api/v201806/custom_affinity_service_registry.rb +0 -46
  276. data/lib/adwords_api/v201806/customer_extension_setting_service.rb +0 -54
  277. data/lib/adwords_api/v201806/customer_extension_setting_service_registry.rb +0 -46
  278. data/lib/adwords_api/v201806/customer_feed_service.rb +0 -54
  279. data/lib/adwords_api/v201806/customer_feed_service_registry.rb +0 -46
  280. data/lib/adwords_api/v201806/customer_negative_criterion_service.rb +0 -54
  281. data/lib/adwords_api/v201806/customer_negative_criterion_service_registry.rb +0 -46
  282. data/lib/adwords_api/v201806/customer_service.rb +0 -62
  283. data/lib/adwords_api/v201806/customer_service_registry.rb +0 -46
  284. data/lib/adwords_api/v201806/customer_sync_service.rb +0 -38
  285. data/lib/adwords_api/v201806/customer_sync_service_registry.rb +0 -47
  286. data/lib/adwords_api/v201806/data_service.rb +0 -94
  287. data/lib/adwords_api/v201806/data_service_registry.rb +0 -46
  288. data/lib/adwords_api/v201806/draft_async_error_service.rb +0 -46
  289. data/lib/adwords_api/v201806/draft_async_error_service_registry.rb +0 -46
  290. data/lib/adwords_api/v201806/draft_service.rb +0 -54
  291. data/lib/adwords_api/v201806/draft_service_registry.rb +0 -46
  292. data/lib/adwords_api/v201806/feed_item_service.rb +0 -54
  293. data/lib/adwords_api/v201806/feed_item_service_registry.rb +0 -46
  294. data/lib/adwords_api/v201806/feed_item_target_service.rb +0 -54
  295. data/lib/adwords_api/v201806/feed_item_target_service_registry.rb +0 -46
  296. data/lib/adwords_api/v201806/feed_mapping_service.rb +0 -54
  297. data/lib/adwords_api/v201806/feed_mapping_service_registry.rb +0 -46
  298. data/lib/adwords_api/v201806/feed_service.rb +0 -54
  299. data/lib/adwords_api/v201806/feed_service_registry.rb +0 -46
  300. data/lib/adwords_api/v201806/label_service.rb +0 -54
  301. data/lib/adwords_api/v201806/label_service_registry.rb +0 -46
  302. data/lib/adwords_api/v201806/location_criterion_service.rb +0 -46
  303. data/lib/adwords_api/v201806/location_criterion_service_registry.rb +0 -46
  304. data/lib/adwords_api/v201806/managed_customer_service.rb +0 -78
  305. data/lib/adwords_api/v201806/managed_customer_service_registry.rb +0 -46
  306. data/lib/adwords_api/v201806/media_service.rb +0 -54
  307. data/lib/adwords_api/v201806/media_service_registry.rb +0 -46
  308. data/lib/adwords_api/v201806/offline_call_conversion_feed_service.rb +0 -38
  309. data/lib/adwords_api/v201806/offline_call_conversion_feed_service_registry.rb +0 -46
  310. data/lib/adwords_api/v201806/offline_conversion_adjustment_feed_service.rb +0 -38
  311. data/lib/adwords_api/v201806/offline_conversion_adjustment_feed_service_registry.rb +0 -46
  312. data/lib/adwords_api/v201806/offline_conversion_feed_service.rb +0 -38
  313. data/lib/adwords_api/v201806/offline_conversion_feed_service_registry.rb +0 -46
  314. data/lib/adwords_api/v201806/offline_data_upload_service.rb +0 -46
  315. data/lib/adwords_api/v201806/offline_data_upload_service_registry.rb +0 -46
  316. data/lib/adwords_api/v201806/report_definition_service.rb +0 -38
  317. data/lib/adwords_api/v201806/report_definition_service_registry.rb +0 -46
  318. data/lib/adwords_api/v201806/shared_criterion_service.rb +0 -54
  319. data/lib/adwords_api/v201806/shared_criterion_service_registry.rb +0 -46
  320. data/lib/adwords_api/v201806/shared_set_service.rb +0 -54
  321. data/lib/adwords_api/v201806/shared_set_service_registry.rb +0 -46
  322. data/lib/adwords_api/v201806/targeting_idea_service.rb +0 -38
  323. data/lib/adwords_api/v201806/targeting_idea_service_registry.rb +0 -46
  324. data/lib/adwords_api/v201806/traffic_estimator_service.rb +0 -38
  325. data/lib/adwords_api/v201806/traffic_estimator_service_registry.rb +0 -46
  326. data/lib/adwords_api/v201806/trial_async_error_service.rb +0 -46
  327. data/lib/adwords_api/v201806/trial_async_error_service_registry.rb +0 -46
  328. data/lib/adwords_api/v201806/trial_service.rb +0 -54
  329. data/lib/adwords_api/v201806/trial_service_registry.rb +0 -46
  330. data/lib/adwords_api/v201809/account_label_service.rb +0 -46
  331. data/lib/adwords_api/v201809/account_label_service_registry.rb +0 -46
  332. data/lib/adwords_api/v201809/ad_customizer_feed_service.rb +0 -46
  333. data/lib/adwords_api/v201809/ad_customizer_feed_service_registry.rb +0 -46
  334. data/lib/adwords_api/v201809/ad_group_ad_service.rb +0 -62
  335. data/lib/adwords_api/v201809/ad_group_ad_service_registry.rb +0 -46
  336. data/lib/adwords_api/v201809/ad_group_bid_modifier_service.rb +0 -54
  337. data/lib/adwords_api/v201809/ad_group_bid_modifier_service_registry.rb +0 -46
  338. data/lib/adwords_api/v201809/ad_group_criterion_service.rb +0 -62
  339. data/lib/adwords_api/v201809/ad_group_criterion_service_registry.rb +0 -46
  340. data/lib/adwords_api/v201809/ad_group_extension_setting_service.rb +0 -54
  341. data/lib/adwords_api/v201809/ad_group_extension_setting_service_registry.rb +0 -46
  342. data/lib/adwords_api/v201809/ad_group_feed_service.rb +0 -54
  343. data/lib/adwords_api/v201809/ad_group_feed_service_registry.rb +0 -46
  344. data/lib/adwords_api/v201809/ad_group_service.rb +0 -62
  345. data/lib/adwords_api/v201809/ad_group_service_registry.rb +0 -46
  346. data/lib/adwords_api/v201809/ad_param_service.rb +0 -46
  347. data/lib/adwords_api/v201809/ad_param_service_registry.rb +0 -46
  348. data/lib/adwords_api/v201809/ad_service.rb +0 -46
  349. data/lib/adwords_api/v201809/ad_service_registry.rb +0 -46
  350. data/lib/adwords_api/v201809/adwords_user_list_service.rb +0 -62
  351. data/lib/adwords_api/v201809/adwords_user_list_service_registry.rb +0 -46
  352. data/lib/adwords_api/v201809/asset_service.rb +0 -46
  353. data/lib/adwords_api/v201809/asset_service_registry.rb +0 -46
  354. data/lib/adwords_api/v201809/batch_job_service.rb +0 -54
  355. data/lib/adwords_api/v201809/batch_job_service_registry.rb +0 -46
  356. data/lib/adwords_api/v201809/bidding_strategy_service.rb +0 -54
  357. data/lib/adwords_api/v201809/bidding_strategy_service_registry.rb +0 -46
  358. data/lib/adwords_api/v201809/budget_order_service.rb +0 -54
  359. data/lib/adwords_api/v201809/budget_order_service_registry.rb +0 -46
  360. data/lib/adwords_api/v201809/budget_service.rb +0 -54
  361. data/lib/adwords_api/v201809/budget_service_registry.rb +0 -46
  362. data/lib/adwords_api/v201809/campaign_bid_modifier_service.rb +0 -54
  363. data/lib/adwords_api/v201809/campaign_bid_modifier_service_registry.rb +0 -46
  364. data/lib/adwords_api/v201809/campaign_criterion_service.rb +0 -54
  365. data/lib/adwords_api/v201809/campaign_criterion_service_registry.rb +0 -46
  366. data/lib/adwords_api/v201809/campaign_extension_setting_service.rb +0 -54
  367. data/lib/adwords_api/v201809/campaign_extension_setting_service_registry.rb +0 -46
  368. data/lib/adwords_api/v201809/campaign_feed_service.rb +0 -54
  369. data/lib/adwords_api/v201809/campaign_feed_service_registry.rb +0 -46
  370. data/lib/adwords_api/v201809/campaign_group_performance_target_service.rb +0 -46
  371. data/lib/adwords_api/v201809/campaign_group_performance_target_service_registry.rb +0 -46
  372. data/lib/adwords_api/v201809/campaign_group_service.rb +0 -46
  373. data/lib/adwords_api/v201809/campaign_group_service_registry.rb +0 -46
  374. data/lib/adwords_api/v201809/campaign_service.rb +0 -62
  375. data/lib/adwords_api/v201809/campaign_service_registry.rb +0 -46
  376. data/lib/adwords_api/v201809/campaign_shared_set_service.rb +0 -54
  377. data/lib/adwords_api/v201809/campaign_shared_set_service_registry.rb +0 -46
  378. data/lib/adwords_api/v201809/constant_data_service.rb +0 -110
  379. data/lib/adwords_api/v201809/constant_data_service_registry.rb +0 -46
  380. data/lib/adwords_api/v201809/conversion_tracker_service.rb +0 -54
  381. data/lib/adwords_api/v201809/conversion_tracker_service_registry.rb +0 -46
  382. data/lib/adwords_api/v201809/custom_affinity_service.rb +0 -62
  383. data/lib/adwords_api/v201809/custom_affinity_service_registry.rb +0 -46
  384. data/lib/adwords_api/v201809/customer_extension_setting_service.rb +0 -54
  385. data/lib/adwords_api/v201809/customer_extension_setting_service_registry.rb +0 -46
  386. data/lib/adwords_api/v201809/customer_feed_service.rb +0 -54
  387. data/lib/adwords_api/v201809/customer_feed_service_registry.rb +0 -46
  388. data/lib/adwords_api/v201809/customer_negative_criterion_service.rb +0 -54
  389. data/lib/adwords_api/v201809/customer_negative_criterion_service_registry.rb +0 -46
  390. data/lib/adwords_api/v201809/customer_service.rb +0 -62
  391. data/lib/adwords_api/v201809/customer_service_registry.rb +0 -46
  392. data/lib/adwords_api/v201809/customer_sync_service.rb +0 -38
  393. data/lib/adwords_api/v201809/customer_sync_service_registry.rb +0 -47
  394. data/lib/adwords_api/v201809/data_service.rb +0 -94
  395. data/lib/adwords_api/v201809/data_service_registry.rb +0 -46
  396. data/lib/adwords_api/v201809/draft_async_error_service.rb +0 -46
  397. data/lib/adwords_api/v201809/draft_async_error_service_registry.rb +0 -46
  398. data/lib/adwords_api/v201809/draft_service.rb +0 -54
  399. data/lib/adwords_api/v201809/draft_service_registry.rb +0 -46
  400. data/lib/adwords_api/v201809/feed_item_service.rb +0 -54
  401. data/lib/adwords_api/v201809/feed_item_service_registry.rb +0 -46
  402. data/lib/adwords_api/v201809/feed_item_target_service.rb +0 -54
  403. data/lib/adwords_api/v201809/feed_item_target_service_registry.rb +0 -46
  404. data/lib/adwords_api/v201809/feed_mapping_service.rb +0 -54
  405. data/lib/adwords_api/v201809/feed_mapping_service_registry.rb +0 -46
  406. data/lib/adwords_api/v201809/feed_service.rb +0 -54
  407. data/lib/adwords_api/v201809/feed_service_registry.rb +0 -46
  408. data/lib/adwords_api/v201809/label_service.rb +0 -54
  409. data/lib/adwords_api/v201809/label_service_registry.rb +0 -46
  410. data/lib/adwords_api/v201809/location_criterion_service.rb +0 -46
  411. data/lib/adwords_api/v201809/location_criterion_service_registry.rb +0 -46
  412. data/lib/adwords_api/v201809/managed_customer_service.rb +0 -78
  413. data/lib/adwords_api/v201809/managed_customer_service_registry.rb +0 -46
  414. data/lib/adwords_api/v201809/media_service.rb +0 -54
  415. data/lib/adwords_api/v201809/media_service_registry.rb +0 -46
  416. data/lib/adwords_api/v201809/offline_call_conversion_feed_service.rb +0 -38
  417. data/lib/adwords_api/v201809/offline_call_conversion_feed_service_registry.rb +0 -46
  418. data/lib/adwords_api/v201809/offline_conversion_adjustment_feed_service.rb +0 -38
  419. data/lib/adwords_api/v201809/offline_conversion_adjustment_feed_service_registry.rb +0 -46
  420. data/lib/adwords_api/v201809/offline_conversion_feed_service.rb +0 -38
  421. data/lib/adwords_api/v201809/offline_conversion_feed_service_registry.rb +0 -46
  422. data/lib/adwords_api/v201809/offline_data_upload_service.rb +0 -46
  423. data/lib/adwords_api/v201809/offline_data_upload_service_registry.rb +0 -46
  424. data/lib/adwords_api/v201809/report_definition_service.rb +0 -38
  425. data/lib/adwords_api/v201809/report_definition_service_registry.rb +0 -46
  426. data/lib/adwords_api/v201809/shared_criterion_service.rb +0 -54
  427. data/lib/adwords_api/v201809/shared_criterion_service_registry.rb +0 -46
  428. data/lib/adwords_api/v201809/shared_set_service.rb +0 -54
  429. data/lib/adwords_api/v201809/shared_set_service_registry.rb +0 -46
  430. data/lib/adwords_api/v201809/targeting_idea_service.rb +0 -38
  431. data/lib/adwords_api/v201809/targeting_idea_service_registry.rb +0 -46
  432. data/lib/adwords_api/v201809/traffic_estimator_service.rb +0 -38
  433. data/lib/adwords_api/v201809/traffic_estimator_service_registry.rb +0 -46
  434. data/lib/adwords_api/v201809/trial_async_error_service.rb +0 -46
  435. data/lib/adwords_api/v201809/trial_async_error_service_registry.rb +0 -46
  436. data/lib/adwords_api/v201809/trial_service.rb +0 -54
  437. data/lib/adwords_api/v201809/trial_service_registry.rb +0 -46
  438. data/lib/adwords_api/version.rb +0 -24
@@ -1,96 +0,0 @@
1
- # Encoding: utf-8
2
- #
3
- # Copyright:: Copyright 2010, Google Inc. All Rights Reserved.
4
- #
5
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14
- # implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # AdWords-specific credential handler.
19
-
20
- require 'ads_common/credential_handler'
21
- require 'adwords_api/api_config'
22
-
23
- module AdwordsApi
24
- class CredentialHandler < AdsCommon::CredentialHandler
25
- # Whether we're making validate-only requests.
26
- attr_accessor :validate_only
27
- # Whether we're making partial failure requests.
28
- attr_accessor :partial_failure
29
-
30
- def initialize(config)
31
- super(config)
32
- @validate_only = false
33
- @partial_failure = false
34
- end
35
-
36
- # Create the list of credentials to be used by the auth handler for header
37
- # generation.
38
- def credentials(credentials_override = nil)
39
- result = super(credentials_override)
40
- validate_headers_for_server(result)
41
-
42
- extra_headers = {
43
- 'userAgent' => generate_user_agent(),
44
- 'developerToken' => result[:developer_token]
45
- }
46
- extra_headers['clientCustomerId'] = result[:client_customer_id] if
47
- result[:client_customer_id]
48
- extra_headers['validateOnly'] = 'true' if @validate_only
49
- extra_headers['partialFailure'] = 'true' if @partial_failure
50
- result[:extra_headers] = extra_headers
51
- return result
52
- end
53
-
54
- # Generates string to use as user agent in headers.
55
- def generate_user_agent(extra_ids = [])
56
- agent_app = @config.read('authentication.user_agent')
57
- if !agent_app.nil? && !agent_app.ascii_only?
58
- raise AdwordsApi::Errors::InvalidUserAgentError.new(
59
- 'User agent contains non-ASCII characters.', agent_app)
60
- end
61
- extra_ids << ['AwApi-Ruby/%s' % AdwordsApi::ApiConfig::CLIENT_LIB_VERSION]
62
- super(extra_ids, agent_app)
63
- end
64
-
65
- # Returns the client customer ID specified in the current credentials.
66
- def identifier()
67
- return credentials[:extra_headers]['clientCustomerId']
68
- end
69
-
70
- private
71
-
72
- # Validates that the right credentials are being used for the chosen
73
- # environment.
74
- #
75
- # Raises:
76
- # - AdwordsApi::Errors:BadCredentialsError if supplied credentials are not
77
- # valid.
78
- #
79
- def validate_headers_for_server(credentials)
80
- client_customer_id = credentials[:client_customer_id]
81
-
82
- if client_customer_id and (!(client_customer_id.is_a?(Integer) or
83
- (client_customer_id =~ /^\d+(-\d+-\d+)?$/)))
84
- raise AdwordsApi::Errors::BadCredentialsError,
85
- 'Invalid client customer ID: %s' % client_customer_id.to_s
86
- end
87
-
88
- token = credentials[:developer_token]
89
- if token.nil? || token.empty?
90
- raise AdwordsApi::Errors::BadCredentialsError,
91
- 'Developer token is missing, check credentials.'
92
- end
93
- return nil
94
- end
95
- end
96
- end
@@ -1,110 +0,0 @@
1
- # Encoding: utf-8
2
- #
3
- # Copyright:: Copyright 2010, Google Inc. All Rights Reserved.
4
- #
5
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14
- # implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # Specific error handling for the AdWords API.
19
-
20
- require 'ads_common/errors'
21
- require 'ads_common/results_extractor'
22
-
23
- module AdwordsApi
24
- module Errors
25
-
26
- # This class encapsulates base class for API exceptions. More specific
27
- # exceptions are generated based on Service WSDL.
28
- class ApiException < AdsCommon::Errors::ApiException
29
- attr_reader :array_fields
30
-
31
- def initialize(exception_fault, registry)
32
- @array_fields ||= []
33
- extractor = AdsCommon::ResultsExtractor.new(registry)
34
- exception_type = exception_fault[:application_exception_type]
35
- exception_data = (exception_type.nil?) ? exception_fault :
36
- extractor.extract_exception_data(exception_fault, exception_type)
37
- exception_data.each { |key, value| set_field(key, value) }
38
- super(exception_data[:message])
39
- end
40
-
41
- private
42
-
43
- # Sets instance's property to a value if it is defined
44
- def set_field(field, value)
45
- if respond_to?(field)
46
- value = arrayize(value) if is_array_field(field)
47
- instance_variable_set("@#{field}", value)
48
- end
49
- end
50
-
51
- # Makes sure object is an array
52
- def arrayize(object)
53
- return [] if object.nil?
54
- return object.is_a?(Array) ? object : [object]
55
- end
56
-
57
- # Should a field be forced to be an array
58
- def is_array_field(field)
59
- return @array_fields.include?(field.to_s)
60
- end
61
- end
62
-
63
- # Error for invalid credentials sush as malformed ID.
64
- class BadCredentialsError < AdsCommon::Errors::ApiException
65
- end
66
-
67
- # Error for malformed report definition.
68
- class InvalidReportDefinitionError < AdsCommon::Errors::ApiException
69
- end
70
-
71
- # Error for server-side report error.
72
- class ReportError < AdsCommon::Errors::ApiException
73
- attr_reader :http_code
74
-
75
- def initialize(http_code, message)
76
- super(message)
77
- @http_code = http_code
78
- end
79
- end
80
-
81
- # Error for server-side report XML error.
82
- class ReportXmlError < ReportError
83
- attr_reader :type, :trigger, :field_path
84
-
85
- def initialize(http_code, error_type, error_trigger, error_field_path)
86
- message =
87
- "HTTP code: %d, error type: '%s', trigger: '%s', field path: '%s'" %
88
- [http_code, error_type, error_trigger, error_field_path]
89
- super(http_code, message)
90
- @type = error_type
91
- @trigger = error_trigger
92
- @field_path = error_field_path
93
- end
94
- end
95
-
96
- # Error for use an unsupported operation in a batch job.
97
- class InvalidBatchJobOperationError < AdsCommon::Errors::ApiException
98
- end
99
-
100
- # Error for using an invalid user agent string.
101
- class InvalidUserAgentError < AdsCommon::Errors::Error
102
- attr_reader :user_agent
103
-
104
- def initialize(message, user_agent)
105
- super(message)
106
- @user_agent = user_agent
107
- end
108
- end
109
- end
110
- end
@@ -1,75 +0,0 @@
1
- # Encoding: utf-8
2
- #
3
- # Copyright:: Copyright 2015, Google Inc. All Rights Reserved.
4
- #
5
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14
- # implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # Contains helper methods to allow incremental uploads with the
19
- # BatchJobService.
20
-
21
- module AdwordsApi
22
- class IncrementalUploadHelper
23
- attr_reader :upload_url, :uploaded_bytes
24
-
25
- # Default constructor.
26
- #
27
- # Args:
28
- # - batch_job_service: The instance of BatchJobService that is providing
29
- # this helper
30
- # - uploaded_bytes: The number of bytes that have already been uploaded
31
- # as part of this incremental process.
32
- # - upload_url: The URL that should be used to upload incremental
33
- # operations for this job.
34
- #
35
- def initialize(batch_job_utils, uploaded_bytes, upload_url)
36
- @batch_job_utils = batch_job_utils
37
- @uploaded_bytes = uploaded_bytes
38
- if @uploaded_bytes == 0
39
- @upload_url = @batch_job_utils.initialize_url(upload_url)
40
- else
41
- @upload_url = upload_url
42
- end
43
- @finished = false
44
- end
45
-
46
- # Takes an array of operations and puts it to the batch job incrementally.
47
- #
48
- # Args:
49
- # - hash_operations: An array of operations to put, represented in hashes
50
- # like you would normally pass to services.
51
- # - is_last_request: Whether this request is the last request of the
52
- # incremental job.
53
- #
54
- # Raises:
55
- # - InvalidBatchJobOperationError: If this incremental upload is already
56
- # finished or if there is an error converting the hash operations to
57
- # soap operations.
58
- #
59
- def upload(operations, is_last_request = false)
60
- check_status()
61
- @uploaded_bytes = @batch_job_utils.put_incremental_operations(
62
- operations, @upload_url, @uploaded_bytes, is_last_request)
63
- @finished = true if is_last_request
64
- end
65
-
66
- private
67
-
68
- def check_status()
69
- if @finished
70
- raise AdwordsApi::Errors::InvalidBatchJobOperationError,
71
- 'Cannot put new operations to completed incremental upload.'
72
- end
73
- end
74
- end
75
- end
@@ -1,41 +0,0 @@
1
- # Encoding: utf-8
2
- #
3
- # Copyright:: Copyright 2018, Google Inc. All Rights Reserved.
4
- #
5
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14
- # implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # Base class with common methods used across both report and service queries.
19
-
20
- require 'adwords_api/query_utils/where_builder'
21
-
22
- module AdwordsApi
23
- class QueryBuilder
24
- def initialize(api)
25
- @api = api
26
- @where = []
27
- end
28
-
29
- def where(field)
30
- clause = WhereBuilder.new(field)
31
- @where << clause
32
- return clause
33
- end
34
-
35
- def build_where()
36
- return '' if @where.empty?
37
- wheres = @where.map {|w| w.awql}
38
- return sprintf(' WHERE %s', wheres.join(' AND '))
39
- end
40
- end
41
- end
@@ -1,30 +0,0 @@
1
- # Encoding: utf-8
2
- #
3
- # Copyright:: Copyright 2018, Google Inc. All Rights Reserved.
4
- #
5
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14
- # implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # Class to hold a generated AWQL query for reports.
19
-
20
- module AdwordsApi
21
- class ReportQuery
22
- def initialize(query)
23
- @query = query
24
- end
25
-
26
- def to_s()
27
- return @query
28
- end
29
- end
30
- end
@@ -1,82 +0,0 @@
1
- # Encoding: utf-8
2
- #
3
- # Copyright:: Copyright 2018, Google Inc. All Rights Reserved.
4
- #
5
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14
- # implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # Class with methods to aid in building AWQL for reports.
19
-
20
- require 'adwords_api/query_utils/query_builder'
21
- require 'adwords_api/query_utils/report_query'
22
-
23
- module AdwordsApi
24
- class ReportQueryBuilder < QueryBuilder
25
- def initialize(api)
26
- super(api)
27
- @select = nil
28
- @from = nil
29
- @during_range = nil
30
- @during_start = nil
31
- @during_end = nil
32
- yield self if block_given?
33
- end
34
-
35
- def configure()
36
- yield self
37
- end
38
-
39
- def select(*fields)
40
- @select = fields
41
- end
42
-
43
- def from(report_name)
44
- @from = report_name
45
- end
46
-
47
- def during_date_range(date_range)
48
- @during_range = date_range
49
- end
50
-
51
- def during(start_date, end_date)
52
- @during_start = start_date
53
- @during_end = end_date
54
- end
55
-
56
- def build()
57
- raise ArgumentError,
58
- 'Must specify SELECT clause for valid AWQL' if @select.nil?
59
- raise ArgumentError,
60
- 'Must specify FROM clause for valid AWQL' if @from.nil?
61
- if !@during_range.nil? && (!@during_start.nil? || !@during_end.nil?)
62
- raise ArgumentError,
63
- 'Cannot specify both date range and start/end dates.'
64
- end
65
- result = sprintf('SELECT %s', @select.join(', '))
66
- result += sprintf(' FROM %s', @from)
67
- result += build_where()
68
- if !@during_range.nil?
69
- result += sprintf(' DURING %s', @during_range)
70
- elsif !@during_start.nil? || !@during_end.nil?
71
- if @during_start.nil?
72
- raise ArgumentError, 'Cannot specify end date without start date.'
73
- elsif @during_end.nil?
74
- raise ArgumentError, 'Cannot specify start date without end date.'
75
- end
76
- result += sprintf(' DURING %s,%s', @during_start, @during_end)
77
- end
78
- @api.utils_reporter.report_query_builder_used()
79
- return ReportQuery.new(result)
80
- end
81
- end
82
- end
@@ -1,62 +0,0 @@
1
- # Encoding: utf-8
2
- #
3
- # Copyright:: Copyright 2018, Google Inc. All Rights Reserved.
4
- #
5
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14
- # implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # Class to hold a generated AWQL query and aid in paging for services.
19
-
20
- module AdwordsApi
21
- class ServiceQuery
22
- def initialize(query, start_index, page_size)
23
- @query = query
24
- @start_index = start_index
25
- @page_size = page_size
26
- end
27
-
28
- def has_next(page)
29
- raise ArgumentError,
30
- 'Cannot page through query with no LIMIT clause.' if @start_index.nil?
31
- return @start_index + @page_size < page[:total_num_entries]
32
- end
33
-
34
- # Determining whether another page exists when dealing with bid landscapes
35
- # is different from other types of queries. Use this method for those cases.
36
- def has_next_landscape_page(page)
37
- raise ArgumentError,
38
- 'Cannot page through query with no LIMIT clause.' if @start_index.nil?
39
- return false unless page[:entries]
40
- total_landscape_points_in_page = 0
41
- page[:entries].each do |landscape|
42
- total_landscape_points_in_page += landscape[:landscape_points].size
43
- end
44
- return total_landscape_points_in_page >= @page_size
45
- end
46
-
47
- def next_page()
48
- raise ArgumentError,
49
- 'Cannot page through query with no LIMIT clause.' if @start_index.nil?
50
- @start_index += @page_size
51
- return self
52
- end
53
-
54
- def to_s()
55
- query = @query
56
- unless @start_index.nil?
57
- query += sprintf(' LIMIT %s,%s', @start_index, @page_size)
58
- end
59
- return query
60
- end
61
- end
62
- end
@@ -1,83 +0,0 @@
1
- # Encoding: utf-8
2
- #
3
- # Copyright:: Copyright 2018, Google Inc. All Rights Reserved.
4
- #
5
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14
- # implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # Class with methods to aid in building AWQL for services.
19
-
20
- require 'adwords_api/query_utils/query_builder'
21
- require 'adwords_api/query_utils/service_query'
22
- require 'set'
23
-
24
- module AdwordsApi
25
- class ServiceQueryBuilder < QueryBuilder
26
- def initialize(api)
27
- super(api)
28
- @select = nil
29
- @order = []
30
- @start_index = nil
31
- @page_size = nil
32
- yield self if block_given?
33
- end
34
-
35
- def configure()
36
- yield self
37
- end
38
-
39
- def select(*fields)
40
- @select = Set[*fields]
41
- end
42
-
43
- def order_by_asc(field)
44
- @order << {
45
- :field => field,
46
- :direction => 'ASC'
47
- }
48
- end
49
-
50
- def order_by_desc(field)
51
- @order << {
52
- :field => field,
53
- :direction => 'DESC'
54
- }
55
- end
56
-
57
- def limit(start_index, page_size)
58
- @start_index = start_index
59
- @page_size = page_size
60
- end
61
-
62
- def build()
63
- raise ArgumentError,
64
- 'Must specify SELECT clause for valid AWQL' if @select.nil?
65
- if !@start_index.nil? && @page_size.nil?
66
- raise ArgumentError, 'Cannot specify start index without page size.'
67
- end
68
- if !@page_size.nil? && @start_index.nil?
69
- raise ArgumentError, 'Cannot specify page size without start index.'
70
- end
71
- result = sprintf('SELECT %s', @select.to_a.join(', '))
72
- result += build_where()
73
- unless @order.empty?
74
- orders = @order.map do |o|
75
- sprintf('%s %s', o[:field], o[:direction])
76
- end
77
- result += sprintf(' ORDER BY %s', orders.join(', '))
78
- end
79
- @api.utils_reporter.service_query_builder_used()
80
- return ServiceQuery.new(result, @start_index, @page_size)
81
- end
82
- end
83
- end
@@ -1,97 +0,0 @@
1
- # Encoding: utf-8
2
- #
3
- # Copyright:: Copyright 2018, Google Inc. All Rights Reserved.
4
- #
5
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14
- # implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # Class to aid in constructing where clauses for reporting and service queries.
19
-
20
- module AdwordsApi
21
- class WhereBuilder
22
- attr_reader :awql
23
-
24
- def initialize(field)
25
- @field = field
26
- @awql = nil
27
- end
28
-
29
- def equal_to(value)
30
- @awql = sprintf("%s = %s", @field, value)
31
- end
32
-
33
- def not_equal_to(value)
34
- @awql = sprintf("%s != %s", @field, value)
35
- end
36
-
37
- def greater_than(value)
38
- @awql = sprintf("%s > %s", @field, value)
39
- end
40
-
41
- def greater_than_or_equal_to(value)
42
- @awql = sprintf("%s >= %s", @field, value)
43
- end
44
-
45
- def less_than(value)
46
- @awql = sprintf("%s < %s", @field, value)
47
- end
48
-
49
- def less_than_or_equal_to(value)
50
- @awql = sprintf("%s <= %s", @field, value)
51
- end
52
-
53
- def starts_with(value)
54
- @awql = sprintf("%s STARTS_WITH %s", @field, value)
55
- end
56
-
57
- def starts_with_ignore_case(value)
58
- @awql = sprintf("%s STARTS_WITH_IGNORE_CASE %s", @field, value)
59
- end
60
-
61
- def contains(value)
62
- @awql = sprintf("%s CONTAINS %s", @field, value)
63
- end
64
-
65
- def contains_ignore_case(value)
66
- @awql = sprintf("%s CONTAINS_IGNORE_CASE %s", @field, value)
67
- end
68
-
69
- def does_not_contain(value)
70
- @awql = sprintf("%s DOES_NOT_CONTAIN %s", @field, value)
71
- end
72
-
73
- def does_not_contain_ignore_case(value)
74
- @awql = sprintf("%s DOES_NOT_CONTAIN_IGNORE_CASE %s", @field, value)
75
- end
76
-
77
- def in(*values)
78
- @awql = sprintf("%s IN [%s]", @field, values.join(','))
79
- end
80
-
81
- def not_in(*values)
82
- @awql = sprintf("%s NOT_IN [%s]", @field, values.join(','))
83
- end
84
-
85
- def contains_any(*values)
86
- @awql = sprintf("%s CONTAINS_ANY [%s]", @field, values.join(','))
87
- end
88
-
89
- def contains_none(*values)
90
- @awql = sprintf("%s CONTAINS_NONE [%s]", @field, values.join(','))
91
- end
92
-
93
- def contains_all(*values)
94
- @awql = sprintf("%s CONTAINS_ALL [%s]", @field, values.join(','))
95
- end
96
- end
97
- end