google-api-client 0.8.6 → 0.9

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 (497) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +20 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +7 -0
  5. data/.rubocop_todo.yml +63 -0
  6. data/.travis.yml +22 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +41 -2
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +32 -2
  11. data/MIGRATING.md +171 -0
  12. data/README.md +181 -148
  13. data/Rakefile +1 -40
  14. data/api_names.yaml +1036 -0
  15. data/api_names_out.yaml +26053 -0
  16. data/bin/generate-api +95 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1335 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +446 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +872 -0
  21. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  22. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  23. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +309 -0
  24. data/generated/google/apis/adexchangeseller_v2_0/service.rb +668 -0
  25. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  26. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  27. data/generated/google/apis/admin_datatransfer_v1/representations.rb +118 -0
  28. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  29. data/generated/google/apis/admin_directory_v1.rb +113 -0
  30. data/generated/google/apis/admin_directory_v1/classes.rb +3141 -0
  31. data/generated/google/apis/admin_directory_v1/representations.rb +1029 -0
  32. data/generated/google/apis/admin_directory_v1/service.rb +3818 -0
  33. data/generated/google/apis/admin_reports_v1.rb +38 -0
  34. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  35. data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
  36. data/generated/google/apis/admin_reports_v1/service.rb +336 -0
  37. data/generated/google/apis/adsense_v1_4.rb +38 -0
  38. data/generated/google/apis/adsense_v1_4/classes.rb +1285 -0
  39. data/generated/google/apis/adsense_v1_4/representations.rb +494 -0
  40. data/generated/google/apis/adsense_v1_4/service.rb +1714 -0
  41. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  42. data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
  43. data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
  44. data/generated/google/apis/adsensehost_v4_1/service.rb +1164 -0
  45. data/generated/google/apis/analytics_v3.rb +49 -0
  46. data/generated/google/apis/analytics_v3/classes.rb +5118 -0
  47. data/generated/google/apis/analytics_v3/representations.rb +1662 -0
  48. data/generated/google/apis/analytics_v3/service.rb +3568 -0
  49. data/generated/google/apis/androidenterprise_v1.rb +35 -0
  50. data/generated/google/apis/androidenterprise_v1/classes.rb +1443 -0
  51. data/generated/google/apis/androidenterprise_v1/representations.rb +538 -0
  52. data/generated/google/apis/androidenterprise_v1/service.rb +2602 -0
  53. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  54. data/generated/google/apis/androidpublisher_v2/classes.rb +1411 -0
  55. data/generated/google/apis/androidpublisher_v2/representations.rb +646 -0
  56. data/generated/google/apis/androidpublisher_v2/service.rb +2338 -0
  57. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  58. data/generated/google/apis/appengine_v1beta4/classes.rb +1532 -0
  59. data/generated/google/apis/appengine_v1beta4/representations.rb +526 -0
  60. data/generated/google/apis/appengine_v1beta4/service.rb +476 -0
  61. data/generated/google/apis/appsactivity_v1.rb +46 -0
  62. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  63. data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
  64. data/generated/google/apis/appsactivity_v1/service.rb +128 -0
  65. data/generated/google/apis/appstate_v1.rb +34 -0
  66. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  67. data/generated/google/apis/appstate_v1/representations.rb +79 -0
  68. data/generated/google/apis/appstate_v1/service.rb +260 -0
  69. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  70. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  71. data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
  72. data/generated/google/apis/autoscaler_v1beta2/service.rb +478 -0
  73. data/generated/google/apis/bigquery_v2.rb +52 -0
  74. data/generated/google/apis/bigquery_v2/classes.rb +2471 -0
  75. data/generated/google/apis/bigquery_v2/representations.rb +816 -0
  76. data/generated/google/apis/bigquery_v2/service.rb +982 -0
  77. data/generated/google/apis/blogger_v3.rb +37 -0
  78. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  79. data/generated/google/apis/blogger_v3/representations.rb +562 -0
  80. data/generated/google/apis/blogger_v3/service.rb +1587 -0
  81. data/generated/google/apis/books_v1.rb +34 -0
  82. data/generated/google/apis/books_v1/classes.rb +3956 -0
  83. data/generated/google/apis/books_v1/representations.rb +1538 -0
  84. data/generated/google/apis/books_v1/service.rb +2290 -0
  85. data/generated/google/apis/calendar_v3.rb +37 -0
  86. data/generated/google/apis/calendar_v3/classes.rb +1742 -0
  87. data/generated/google/apis/calendar_v3/representations.rb +567 -0
  88. data/generated/google/apis/calendar_v3/service.rb +1968 -0
  89. data/{lib/google/api_client/service_account.rb → generated/google/apis/civicinfo_v2.rb} +18 -8
  90. data/generated/google/apis/civicinfo_v2/classes.rb +1127 -0
  91. data/generated/google/apis/civicinfo_v2/representations.rb +383 -0
  92. data/generated/google/apis/civicinfo_v2/service.rb +279 -0
  93. data/generated/google/apis/classroom_v1.rb +49 -0
  94. data/generated/google/apis/classroom_v1/classes.rb +512 -0
  95. data/generated/google/apis/classroom_v1/representations.rb +217 -0
  96. data/generated/google/apis/classroom_v1/service.rb +970 -0
  97. data/generated/google/apis/classroom_v1beta1.rb +49 -0
  98. data/generated/google/apis/classroom_v1beta1/classes.rb +447 -0
  99. data/generated/google/apis/classroom_v1beta1/representations.rb +190 -0
  100. data/generated/google/apis/classroom_v1beta1/service.rb +791 -0
  101. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  102. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  103. data/generated/google/apis/cloudbilling_v1/representations.rb +79 -0
  104. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  105. data/generated/google/apis/clouddebugger_v2.rb +41 -0
  106. data/generated/google/apis/clouddebugger_v2/classes.rb +1004 -0
  107. data/generated/google/apis/clouddebugger_v2/representations.rb +410 -0
  108. data/generated/google/apis/clouddebugger_v2/service.rb +370 -0
  109. data/generated/google/apis/cloudmonitoring_v2beta2.rb +37 -0
  110. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  111. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
  112. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +452 -0
  113. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  114. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +437 -0
  115. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +188 -0
  116. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +623 -0
  117. data/generated/google/apis/cloudtrace_v1.rb +35 -0
  118. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  119. data/generated/google/apis/cloudtrace_v1/representations.rb +92 -0
  120. data/generated/google/apis/cloudtrace_v1/service.rb +190 -0
  121. data/generated/google/apis/clouduseraccounts_beta.rb +43 -0
  122. data/generated/google/apis/clouduseraccounts_beta/classes.rb +823 -0
  123. data/generated/google/apis/clouduseraccounts_beta/representations.rb +313 -0
  124. data/generated/google/apis/clouduseraccounts_beta/service.rb +854 -0
  125. data/generated/google/apis/compute_beta.rb +49 -0
  126. data/generated/google/apis/compute_beta/classes.rb +9128 -0
  127. data/generated/google/apis/compute_beta/representations.rb +3048 -0
  128. data/generated/google/apis/compute_beta/service.rb +10154 -0
  129. data/generated/google/apis/compute_v1.rb +49 -0
  130. data/generated/google/apis/compute_v1/classes.rb +8681 -0
  131. data/generated/google/apis/compute_v1/representations.rb +2895 -0
  132. data/generated/google/apis/compute_v1/service.rb +9252 -0
  133. data/generated/google/apis/container_v1.rb +35 -0
  134. data/generated/google/apis/container_v1/classes.rb +463 -0
  135. data/generated/google/apis/container_v1/representations.rb +175 -0
  136. data/generated/google/apis/container_v1/service.rb +367 -0
  137. data/generated/google/apis/container_v1beta1.rb +35 -0
  138. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  139. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  140. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  141. data/generated/google/apis/content_v2.rb +35 -0
  142. data/generated/google/apis/content_v2/classes.rb +5986 -0
  143. data/generated/google/apis/content_v2/representations.rb +2288 -0
  144. data/generated/google/apis/content_v2/service.rb +2338 -0
  145. data/generated/google/apis/coordinate_v1.rb +37 -0
  146. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  147. data/generated/google/apis/coordinate_v1/representations.rb +285 -0
  148. data/generated/google/apis/coordinate_v1/service.rb +678 -0
  149. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  150. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  151. data/generated/google/apis/customsearch_v1/representations.rb +276 -0
  152. data/generated/google/apis/customsearch_v1/service.rb +207 -0
  153. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  154. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  155. data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
  156. data/generated/google/apis/datastore_v1beta2/service.rb +294 -0
  157. data/generated/google/apis/deploymentmanager_v2.rb +44 -0
  158. data/generated/google/apis/deploymentmanager_v2/classes.rb +1091 -0
  159. data/generated/google/apis/deploymentmanager_v2/representations.rb +422 -0
  160. data/generated/google/apis/deploymentmanager_v2/service.rb +857 -0
  161. data/generated/google/apis/deploymentmanager_v2beta2.rb +44 -0
  162. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +843 -0
  163. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +306 -0
  164. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +689 -0
  165. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  166. data/generated/google/apis/dfareporting_v2_1/classes.rb +10770 -0
  167. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  168. data/generated/google/apis/dfareporting_v2_1/service.rb +8585 -0
  169. data/generated/google/apis/discovery_v1.rb +32 -0
  170. data/generated/google/apis/discovery_v1/classes.rb +961 -0
  171. data/generated/google/apis/discovery_v1/representations.rb +357 -0
  172. data/generated/google/apis/discovery_v1/service.rb +142 -0
  173. data/generated/google/apis/dns_v1.rb +44 -0
  174. data/generated/google/apis/dns_v1/classes.rb +406 -0
  175. data/generated/google/apis/dns_v1/representations.rb +151 -0
  176. data/generated/google/apis/dns_v1/service.rb +454 -0
  177. data/generated/google/apis/doubleclickbidmanager_v1.rb +31 -0
  178. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +716 -0
  179. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +298 -0
  180. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +341 -0
  181. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  182. data/generated/google/apis/doubleclicksearch_v2/classes.rb +956 -0
  183. data/generated/google/apis/doubleclicksearch_v2/representations.rb +316 -0
  184. data/generated/google/apis/doubleclicksearch_v2/service.rb +480 -0
  185. data/generated/google/apis/drive_v2.rb +58 -0
  186. data/generated/google/apis/drive_v2/classes.rb +2562 -0
  187. data/generated/google/apis/drive_v2/representations.rb +795 -0
  188. data/generated/google/apis/drive_v2/service.rb +2696 -0
  189. data/generated/google/apis/drive_v3.rb +55 -0
  190. data/generated/google/apis/drive_v3/classes.rb +1534 -0
  191. data/generated/google/apis/drive_v3/representations.rb +497 -0
  192. data/generated/google/apis/drive_v3/service.rb +1541 -0
  193. data/generated/google/apis/fitness_v1.rb +49 -0
  194. data/generated/google/apis/fitness_v1/classes.rb +885 -0
  195. data/generated/google/apis/fitness_v1/representations.rb +320 -0
  196. data/generated/google/apis/fitness_v1/service.rb +675 -0
  197. data/generated/google/apis/fusiontables_v2.rb +37 -0
  198. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  199. data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
  200. data/generated/google/apis/fusiontables_v2/service.rb +1463 -0
  201. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  202. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  203. data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
  204. data/generated/google/apis/games_configuration_v1configuration/service.rb +565 -0
  205. data/generated/google/apis/games_management_v1management.rb +37 -0
  206. data/generated/google/apis/games_management_v1management/classes.rb +524 -0
  207. data/generated/google/apis/games_management_v1management/representations.rb +231 -0
  208. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  209. data/generated/google/apis/games_v1.rb +40 -0
  210. data/generated/google/apis/games_v1/classes.rb +4617 -0
  211. data/generated/google/apis/games_v1/representations.rb +1584 -0
  212. data/generated/google/apis/games_v1/service.rb +2290 -0
  213. data/generated/google/apis/gan_v1beta1.rb +31 -0
  214. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  215. data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
  216. data/generated/google/apis/gan_v1beta1/service.rb +682 -0
  217. data/generated/google/apis/genomics_v1.rb +49 -0
  218. data/generated/google/apis/genomics_v1/classes.rb +2609 -0
  219. data/generated/google/apis/genomics_v1/representations.rb +909 -0
  220. data/generated/google/apis/genomics_v1/service.rb +1676 -0
  221. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  222. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  223. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  224. data/generated/google/apis/genomics_v1beta2/service.rb +2392 -0
  225. data/generated/google/apis/gmail_v1.rb +52 -0
  226. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  227. data/generated/google/apis/gmail_v1/representations.rb +339 -0
  228. data/generated/google/apis/gmail_v1/service.rb +1470 -0
  229. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  230. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  231. data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
  232. data/generated/google/apis/groupsmigration_v1/service.rb +110 -0
  233. data/generated/google/apis/groupssettings_v1.rb +34 -0
  234. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  235. data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
  236. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  237. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  238. data/generated/google/apis/identitytoolkit_v3/classes.rb +1466 -0
  239. data/generated/google/apis/identitytoolkit_v3/representations.rb +509 -0
  240. data/generated/google/apis/identitytoolkit_v3/service.rb +581 -0
  241. data/{spec/google/api_client/request_spec.rb → generated/google/apis/kgsearch_v1.rb} +16 -13
  242. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  243. data/generated/google/apis/kgsearch_v1/representations.rb +39 -0
  244. data/generated/google/apis/kgsearch_v1/service.rb +111 -0
  245. data/generated/google/apis/licensing_v1.rb +34 -0
  246. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  247. data/generated/google/apis/licensing_v1/representations.rb +68 -0
  248. data/generated/google/apis/licensing_v1/service.rb +369 -0
  249. data/generated/google/apis/logging_v1beta3.rb +47 -0
  250. data/generated/google/apis/logging_v1beta3/classes.rb +1079 -0
  251. data/generated/google/apis/logging_v1beta3/representations.rb +366 -0
  252. data/generated/google/apis/logging_v1beta3/service.rb +1001 -0
  253. data/generated/google/apis/manager_v1beta2.rb +53 -0
  254. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  255. data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
  256. data/generated/google/apis/manager_v1beta2/service.rb +372 -0
  257. data/generated/google/apis/mapsengine_v1.rb +38 -0
  258. data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
  259. data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
  260. data/generated/google/apis/mapsengine_v1/service.rb +3388 -0
  261. data/generated/google/apis/mirror_v1.rb +37 -0
  262. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  263. data/generated/google/apis/mirror_v1/representations.rb +350 -0
  264. data/generated/google/apis/mirror_v1/service.rb +977 -0
  265. data/generated/google/apis/oauth2_v2.rb +43 -0
  266. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  267. data/generated/google/apis/oauth2_v2/representations.rb +94 -0
  268. data/generated/google/apis/oauth2_v2/service.rb +199 -0
  269. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  270. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  271. data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
  272. data/generated/google/apis/pagespeedonline_v2/service.rb +119 -0
  273. data/generated/google/apis/partners_v2.rb +32 -0
  274. data/generated/google/apis/partners_v2/classes.rb +942 -0
  275. data/generated/google/apis/partners_v2/representations.rb +402 -0
  276. data/generated/google/apis/partners_v2/service.rb +400 -0
  277. data/generated/google/apis/plus_domains_v1.rb +61 -0
  278. data/generated/google/apis/plus_domains_v1/classes.rb +2609 -0
  279. data/generated/google/apis/plus_domains_v1/representations.rb +987 -0
  280. data/generated/google/apis/plus_domains_v1/service.rb +904 -0
  281. data/generated/google/apis/plus_v1.rb +43 -0
  282. data/generated/google/apis/plus_v1/classes.rb +2094 -0
  283. data/generated/google/apis/plus_v1/representations.rb +805 -0
  284. data/generated/google/apis/plus_v1/service.rb +470 -0
  285. data/generated/google/apis/prediction_v1_6.rb +44 -0
  286. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  287. data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
  288. data/generated/google/apis/prediction_v1_6/service.rb +380 -0
  289. data/generated/google/apis/proximitybeacon_v1beta1.rb +31 -0
  290. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +639 -0
  291. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +274 -0
  292. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +591 -0
  293. data/generated/google/apis/pubsub_v1.rb +37 -0
  294. data/generated/google/apis/pubsub_v1/classes.rb +614 -0
  295. data/generated/google/apis/pubsub_v1/representations.rb +281 -0
  296. data/generated/google/apis/pubsub_v1/service.rb +774 -0
  297. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  298. data/generated/google/apis/pubsub_v1beta2/classes.rb +620 -0
  299. data/generated/google/apis/pubsub_v1beta2/representations.rb +282 -0
  300. data/generated/google/apis/pubsub_v1beta2/service.rb +774 -0
  301. data/generated/google/apis/qpx_express_v1.rb +31 -0
  302. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  303. data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
  304. data/generated/google/apis/qpx_express_v1/service.rb +100 -0
  305. data/generated/google/apis/replicapool_v1beta2.rb +44 -0
  306. data/generated/google/apis/replicapool_v1beta2/classes.rb +631 -0
  307. data/generated/google/apis/replicapool_v1beta2/representations.rb +236 -0
  308. data/generated/google/apis/replicapool_v1beta2/service.rb +608 -0
  309. data/generated/google/apis/replicapoolupdater_v1beta1.rb +44 -0
  310. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +733 -0
  311. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +264 -0
  312. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +508 -0
  313. data/generated/google/apis/reseller_v1.rb +37 -0
  314. data/generated/google/apis/reseller_v1/classes.rb +520 -0
  315. data/generated/google/apis/reseller_v1/representations.rb +200 -0
  316. data/generated/google/apis/reseller_v1/service.rb +623 -0
  317. data/generated/google/apis/resourceviews_v1beta2.rb +50 -0
  318. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  319. data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
  320. data/generated/google/apis/resourceviews_v1beta2/service.rb +563 -0
  321. data/generated/google/apis/script_v1.rb +61 -0
  322. data/generated/google/apis/script_v1/classes.rb +259 -0
  323. data/generated/google/apis/script_v1/representations.rb +106 -0
  324. data/generated/google/apis/script_v1/service.rb +98 -0
  325. data/generated/google/apis/site_verification_v1.rb +37 -0
  326. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  327. data/generated/google/apis/site_verification_v1/representations.rb +101 -0
  328. data/generated/google/apis/site_verification_v1/service.rb +315 -0
  329. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  330. data/generated/google/apis/sqladmin_v1beta4/classes.rb +2001 -0
  331. data/generated/google/apis/sqladmin_v1beta4/representations.rb +758 -0
  332. data/generated/google/apis/sqladmin_v1beta4/service.rb +1625 -0
  333. data/generated/google/apis/storage_v1.rb +46 -0
  334. data/generated/google/apis/storage_v1/classes.rb +1222 -0
  335. data/generated/google/apis/storage_v1/representations.rb +445 -0
  336. data/generated/google/apis/storage_v1/service.rb +1903 -0
  337. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  338. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  339. data/generated/google/apis/storagetransfer_v1/representations.rb +370 -0
  340. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  341. data/generated/google/apis/tagmanager_v1.rb +52 -0
  342. data/generated/google/apis/tagmanager_v1/classes.rb +1384 -0
  343. data/generated/google/apis/tagmanager_v1/representations.rb +515 -0
  344. data/generated/google/apis/tagmanager_v1/service.rb +1817 -0
  345. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  346. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  347. data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
  348. data/generated/google/apis/taskqueue_v1beta2/service.rb +408 -0
  349. data/generated/google/apis/tasks_v1.rb +37 -0
  350. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  351. data/generated/google/apis/tasks_v1/representations.rb +115 -0
  352. data/generated/google/apis/tasks_v1/service.rb +643 -0
  353. data/generated/google/apis/translate_v2.rb +31 -0
  354. data/generated/google/apis/translate_v2/classes.rb +168 -0
  355. data/generated/google/apis/translate_v2/representations.rb +109 -0
  356. data/generated/google/apis/translate_v2/service.rb +182 -0
  357. data/generated/google/apis/urlshortener_v1.rb +34 -0
  358. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  359. data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
  360. data/generated/google/apis/urlshortener_v1/service.rb +176 -0
  361. data/generated/google/apis/webmasters_v3.rb +37 -0
  362. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  363. data/generated/google/apis/webmasters_v3/representations.rb +250 -0
  364. data/generated/google/apis/webmasters_v3/service.rb +573 -0
  365. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  366. data/generated/google/apis/youtube_analytics_v1/classes.rb +546 -0
  367. data/generated/google/apis/youtube_analytics_v1/representations.rb +243 -0
  368. data/generated/google/apis/youtube_analytics_v1/service.rb +562 -0
  369. data/generated/google/apis/youtube_v3.rb +49 -0
  370. data/generated/google/apis/youtube_v3/classes.rb +8136 -0
  371. data/generated/google/apis/youtube_v3/representations.rb +2838 -0
  372. data/generated/google/apis/youtube_v3/service.rb +4403 -0
  373. data/generated/google/apis/youtubereporting_v1.rb +38 -0
  374. data/generated/google/apis/youtubereporting_v1/classes.rb +258 -0
  375. data/generated/google/apis/youtubereporting_v1/representations.rb +128 -0
  376. data/generated/google/apis/youtubereporting_v1/service.rb +364 -0
  377. data/google-api-client.gemspec +27 -39
  378. data/lib/google/api_client/auth/installed_app.rb +7 -5
  379. data/lib/google/api_client/auth/key_utils.rb +1 -0
  380. data/lib/google/api_client/auth/storage.rb +4 -2
  381. data/lib/google/api_client/auth/storages/file_store.rb +2 -3
  382. data/lib/google/api_client/auth/storages/redis_store.rb +7 -2
  383. data/lib/google/api_client/client_secrets.rb +4 -5
  384. data/lib/google/apis.rb +48 -0
  385. data/lib/google/apis/core/api_command.rb +135 -0
  386. data/lib/google/apis/core/base_service.rb +317 -0
  387. data/lib/google/apis/core/batch.rb +239 -0
  388. data/lib/google/apis/core/download.rb +94 -0
  389. data/lib/google/apis/core/hashable.rb +44 -0
  390. data/lib/google/apis/core/http_client_adapter.rb +82 -0
  391. data/lib/google/apis/core/http_command.rb +312 -0
  392. data/lib/google/apis/core/json_representation.rb +127 -0
  393. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  394. data/lib/google/apis/core/multipart.rb +187 -0
  395. data/lib/google/apis/core/upload.rb +288 -0
  396. data/lib/google/{api_client → apis}/errors.rb +39 -28
  397. data/lib/google/apis/generator.rb +70 -0
  398. data/lib/google/apis/generator/annotator.rb +295 -0
  399. data/lib/google/apis/generator/helpers.rb +74 -0
  400. data/lib/google/apis/generator/model.rb +143 -0
  401. data/lib/google/apis/generator/template.rb +124 -0
  402. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  403. data/lib/google/apis/generator/templates/_method.tmpl +92 -0
  404. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  405. data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
  406. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  407. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  408. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  409. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  410. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  411. data/lib/google/apis/options.rb +85 -0
  412. data/lib/google/apis/version.rb +39 -0
  413. data/rakelib/metrics.rake +22 -0
  414. data/rakelib/rubocop.rake +10 -0
  415. data/rakelib/spec.rake +11 -0
  416. data/rakelib/yard.rake +11 -0
  417. data/samples/Gemfile +7 -0
  418. data/samples/README.md +51 -0
  419. data/samples/google-api-samples +32 -0
  420. data/samples/lib/base_cli.rb +94 -0
  421. data/samples/lib/samples/analytics.rb +62 -0
  422. data/samples/lib/samples/calendar.rb +83 -0
  423. data/samples/lib/samples/drive.rb +82 -0
  424. data/samples/lib/samples/gmail.rb +50 -0
  425. data/samples/lib/samples/pubsub.rb +114 -0
  426. data/samples/lib/samples/translate.rb +44 -0
  427. data/samples/lib/samples/you_tube.rb +44 -0
  428. data/script/generate +95 -0
  429. data/script/package +8 -0
  430. data/script/release +15 -0
  431. data/spec/fixtures/files/api_names.yaml +3 -0
  432. data/spec/fixtures/files/auth_stored_credentials.json +8 -0
  433. data/spec/fixtures/files/child/.gitignore +0 -0
  434. data/spec/fixtures/files/client_secrets.json +1 -0
  435. data/spec/fixtures/files/invalid.json +1 -0
  436. data/spec/fixtures/files/test.blah +1 -0
  437. data/spec/fixtures/files/test.txt +1 -0
  438. data/spec/fixtures/files/test_api.json +440 -0
  439. data/spec/google/api_client/auth/storage_spec.rb +1 -3
  440. data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
  441. data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
  442. data/spec/google/api_client/client_secrets_spec.rb +38 -1
  443. data/spec/google/apis/core/api_command_spec.rb +209 -0
  444. data/spec/google/apis/core/batch_spec.rb +142 -0
  445. data/spec/google/apis/core/download_spec.rb +103 -0
  446. data/spec/google/apis/core/hashable_spec.rb +60 -0
  447. data/spec/google/apis/core/http_command_spec.rb +284 -0
  448. data/spec/google/apis/core/json_representation_spec.rb +192 -0
  449. data/spec/google/apis/core/service_spec.rb +247 -0
  450. data/spec/google/apis/core/upload_spec.rb +300 -0
  451. data/{lib/google/api_client/discovery.rb → spec/google/apis/generated_spec.rb} +13 -5
  452. data/spec/google/apis/generator/generator_spec.rb +272 -0
  453. data/spec/google/apis/logging_spec.rb +45 -0
  454. data/spec/google/apis/options_spec.rb +40 -0
  455. data/spec/integration_tests/adsense_spec.rb +29 -0
  456. data/spec/integration_tests/drive_spec.rb +35 -0
  457. data/spec/integration_tests/pubsub_spec.rb +48 -0
  458. data/spec/integration_tests/url_shortener_spec.rb +45 -0
  459. data/spec/spec_helper.rb +131 -44
  460. data/spec/spec_helper/load_path_spec.rb +33 -0
  461. data/third_party/hurley_patches.rb +103 -0
  462. metadata +533 -170
  463. data/lib/compat/multi_json.rb +0 -19
  464. data/lib/google/api_client.rb +0 -750
  465. data/lib/google/api_client/auth/file_storage.rb +0 -59
  466. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  467. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  468. data/lib/google/api_client/batch.rb +0 -326
  469. data/lib/google/api_client/charset.rb +0 -33
  470. data/lib/google/api_client/discovery/api.rb +0 -310
  471. data/lib/google/api_client/discovery/media.rb +0 -77
  472. data/lib/google/api_client/discovery/method.rb +0 -363
  473. data/lib/google/api_client/discovery/resource.rb +0 -156
  474. data/lib/google/api_client/discovery/schema.rb +0 -117
  475. data/lib/google/api_client/environment.rb +0 -42
  476. data/lib/google/api_client/gzip.rb +0 -28
  477. data/lib/google/api_client/logging.rb +0 -32
  478. data/lib/google/api_client/media.rb +0 -259
  479. data/lib/google/api_client/railtie.rb +0 -18
  480. data/lib/google/api_client/request.rb +0 -350
  481. data/lib/google/api_client/result.rb +0 -255
  482. data/lib/google/api_client/service.rb +0 -233
  483. data/lib/google/api_client/service/batch.rb +0 -110
  484. data/lib/google/api_client/service/request.rb +0 -144
  485. data/lib/google/api_client/service/resource.rb +0 -40
  486. data/lib/google/api_client/service/result.rb +0 -162
  487. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  488. data/lib/google/api_client/service/stub_generator.rb +0 -61
  489. data/spec/google/api_client/batch_spec.rb +0 -248
  490. data/spec/google/api_client/discovery_spec.rb +0 -708
  491. data/spec/google/api_client/gzip_spec.rb +0 -98
  492. data/spec/google/api_client/media_spec.rb +0 -178
  493. data/spec/google/api_client/result_spec.rb +0 -207
  494. data/spec/google/api_client/service_account_spec.rb +0 -169
  495. data/spec/google/api_client/service_spec.rb +0 -618
  496. data/spec/google/api_client/simple_file_store_spec.rb +0 -133
  497. data/spec/google/api_client_spec.rb +0 -352
@@ -1,40 +0,0 @@
1
- # Copyright 2013 Google Inc.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- module Google
16
- class APIClient
17
- class Service
18
- ##
19
- # Handles an API resource.
20
- # Simple class that contains API methods and/or child resources.
21
- class Resource
22
- include Google::APIClient::Service::StubGenerator
23
-
24
- ##
25
- # Build a resource.
26
- # This class should not be directly instantiated in user code; resources
27
- # are instantiated by the stub generation mechanism on Service creation.
28
- #
29
- # @param [Google::APIClient::Service] service
30
- # The Service instance this resource belongs to.
31
- # @param [Google::APIClient::API, Google::APIClient::Resource] root
32
- # The node corresponding to this resource.
33
- def initialize(service, root)
34
- @service = service
35
- generate_call_stubs(service, root)
36
- end
37
- end
38
- end
39
- end
40
- end
@@ -1,162 +0,0 @@
1
- # Copyright 2013 Google Inc.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- module Google
16
- class APIClient
17
- class Service
18
- ##
19
- # Handles an API result.
20
- # Wraps around the Google::APIClient::Result class, making it easier to
21
- # handle the result (e.g. pagination) and keeping it in line with the rest
22
- # of the Service programming interface.
23
- class Result
24
- extend Forwardable
25
-
26
- ##
27
- # Init the result.
28
- #
29
- # @param [Google::APIClient::Service::Request] request
30
- # The original request
31
- # @param [Google::APIClient::Result] base_result
32
- # The base result to be wrapped
33
- def initialize(request, base_result)
34
- @request = request
35
- @base_result = base_result
36
- end
37
-
38
- # @!attribute [r] status
39
- # @return [Fixnum] HTTP status code
40
- # @!attribute [r] headers
41
- # @return [Hash] HTTP response headers
42
- # @!attribute [r] body
43
- # @return [String] HTTP response body
44
- def_delegators :@base_result, :status, :headers, :body
45
-
46
- # @return [Google::APIClient::Service::Request] Original request object
47
- attr_reader :request
48
-
49
- ##
50
- # Get the content type of the response
51
- # @!attribute [r] media_type
52
- # @return [String]
53
- # Value of content-type header
54
- def_delegators :@base_result, :media_type
55
-
56
- ##
57
- # Check if request failed
58
- #
59
- # @!attribute [r] error?
60
- # @return [TrueClass, FalseClass]
61
- # true if result of operation is an error
62
- def_delegators :@base_result, :error?
63
-
64
- ##
65
- # Check if request was successful
66
- #
67
- # @!attribute [r] success?
68
- # @return [TrueClass, FalseClass]
69
- # true if result of operation was successful
70
- def_delegators :@base_result, :success?
71
-
72
- ##
73
- # Extracts error messages from the response body
74
- #
75
- # @!attribute [r] error_message
76
- # @return [String]
77
- # error message, if available
78
- def_delegators :@base_result, :error_message
79
-
80
- ##
81
- # Check for parsable data in response
82
- #
83
- # @!attribute [r] data?
84
- # @return [TrueClass, FalseClass]
85
- # true if body can be parsed
86
- def_delegators :@base_result, :data?
87
-
88
- ##
89
- # Return parsed version of the response body.
90
- #
91
- # @!attribute [r] data
92
- # @return [Object, Hash, String]
93
- # Object if body parsable from API schema, Hash if JSON, raw body if unable to parse
94
- def_delegators :@base_result, :data
95
-
96
- ##
97
- # Pagination scheme used by this request/response
98
- #
99
- # @!attribute [r] pagination_type
100
- # @return [Symbol]
101
- # currently always :token
102
- def_delegators :@base_result, :pagination_type
103
-
104
- ##
105
- # Name of the field that contains the pagination token
106
- #
107
- # @!attribute [r] page_token_param
108
- # @return [String]
109
- # currently always 'pageToken'
110
- def_delegators :@base_result, :page_token_param
111
-
112
- ##
113
- # Get the token used for requesting the next page of data
114
- #
115
- # @!attribute [r] next_page_token
116
- # @return [String]
117
- # next page tokenx =
118
- def_delegators :@base_result, :next_page_token
119
-
120
- ##
121
- # Get the token used for requesting the previous page of data
122
- #
123
- # @!attribute [r] prev_page_token
124
- # @return [String]
125
- # previous page token
126
- def_delegators :@base_result, :prev_page_token
127
-
128
- # @!attribute [r] resumable_upload
129
- def resumable_upload
130
- # TODO(sgomes): implement resumable_upload for Service::Result
131
- raise NotImplementedError
132
- end
133
-
134
- ##
135
- # Build a request for fetching the next page of data
136
- #
137
- # @return [Google::APIClient::Service::Request]
138
- # API request for retrieving next page
139
- def next_page
140
- request = @request.clone
141
- # Make a deep copy of the parameters.
142
- request.parameters = Marshal.load(Marshal.dump(request.parameters))
143
- request.parameters[page_token_param] = self.next_page_token
144
- return request
145
- end
146
-
147
- ##
148
- # Build a request for fetching the previous page of data
149
- #
150
- # @return [Google::APIClient::Service::Request]
151
- # API request for retrieving previous page
152
- def prev_page
153
- request = @request.clone
154
- # Make a deep copy of the parameters.
155
- request.parameters = Marshal.load(Marshal.dump(request.parameters))
156
- request.parameters[page_token_param] = self.prev_page_token
157
- return request
158
- end
159
- end
160
- end
161
- end
162
- end
@@ -1,151 +0,0 @@
1
- # Copyright 2013 Google Inc.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- module Google
16
- class APIClient
17
- class Service
18
-
19
- # Simple file store to be used in the event no ActiveSupport cache store
20
- # is provided. This is not thread-safe, and does not support a number of
21
- # features (such as expiration), but it's useful for the simple purpose of
22
- # caching discovery documents to disk.
23
- # Implements the basic cache methods of ActiveSupport::Cache::Store in a
24
- # limited fashion.
25
- class SimpleFileStore
26
-
27
- # Creates a new SimpleFileStore.
28
- #
29
- # @param [String] file_path
30
- # The path to the cache file on disk.
31
- # @param [Object] options
32
- # The options to be used with this SimpleFileStore. Not implemented.
33
- def initialize(file_path, options = nil)
34
- @file_path = file_path.to_s
35
- end
36
-
37
- # Returns true if a key exists in the cache.
38
- #
39
- # @param [String] name
40
- # The name of the key. Will always be converted to a string.
41
- # @param [Object] options
42
- # The options to be used with this query. Not implemented.
43
- def exist?(name, options = nil)
44
- read_file
45
- @cache.nil? ? nil : @cache.include?(name.to_s)
46
- end
47
-
48
- # Fetches data from the cache and returns it, using the given key.
49
- # If the key is missing and no block is passed, returns nil.
50
- # If the key is missing and a block is passed, executes the block, sets
51
- # the key to its value, and returns it.
52
- #
53
- # @param [String] name
54
- # The name of the key. Will always be converted to a string.
55
- # @param [Object] options
56
- # The options to be used with this query. Not implemented.
57
- # @yield [String]
58
- # optional block with the default value if the key is missing
59
- def fetch(name, options = nil)
60
- read_file
61
- if block_given?
62
- entry = read(name.to_s, options)
63
- if entry.nil?
64
- value = yield name.to_s
65
- write(name.to_s, value)
66
- return value
67
- else
68
- return entry
69
- end
70
- else
71
- return read(name.to_s, options)
72
- end
73
- end
74
-
75
- # Fetches data from the cache, using the given key.
76
- # Returns nil if the key is missing.
77
- #
78
- # @param [String] name
79
- # The name of the key. Will always be converted to a string.
80
- # @param [Object] options
81
- # The options to be used with this query. Not implemented.
82
- def read(name, options = nil)
83
- read_file
84
- @cache.nil? ? nil : @cache[name.to_s]
85
- end
86
-
87
- # Writes the value to the cache, with the key.
88
- #
89
- # @param [String] name
90
- # The name of the key. Will always be converted to a string.
91
- # @param [Object] value
92
- # The value to be written.
93
- # @param [Object] options
94
- # The options to be used with this query. Not implemented.
95
- def write(name, value, options = nil)
96
- read_file
97
- @cache = {} if @cache.nil?
98
- @cache[name.to_s] = value
99
- write_file
100
- return nil
101
- end
102
-
103
- # Deletes an entry in the cache.
104
- # Returns true if an entry is deleted.
105
- #
106
- # @param [String] name
107
- # The name of the key. Will always be converted to a string.
108
- # @param [Object] options
109
- # The options to be used with this query. Not implemented.
110
- def delete(name, options = nil)
111
- read_file
112
- return nil if @cache.nil?
113
- if @cache.include? name.to_s
114
- @cache.delete name.to_s
115
- write_file
116
- return true
117
- else
118
- return nil
119
- end
120
- end
121
-
122
- protected
123
-
124
- # Read the entire cache file from disk.
125
- # Will avoid reading if there have been no changes.
126
- def read_file
127
- if !File.exist? @file_path
128
- @cache = nil
129
- else
130
- # Check for changes after our last read or write.
131
- if @last_change.nil? || File.mtime(@file_path) > @last_change
132
- File.open(@file_path) do |file|
133
- @cache = Marshal.load(file)
134
- @last_change = file.mtime
135
- end
136
- end
137
- end
138
- return @cache
139
- end
140
-
141
- # Write the entire cache contents to disk.
142
- def write_file
143
- File.open(@file_path, 'w') do |file|
144
- Marshal.dump(@cache, file)
145
- end
146
- @last_change = File.mtime(@file_path)
147
- end
148
- end
149
- end
150
- end
151
- end
@@ -1,61 +0,0 @@
1
- # Copyright 2013 Google Inc.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- require 'active_support/inflector'
16
-
17
- module Google
18
- class APIClient
19
- class Service
20
- ##
21
- # Auxiliary mixin to generate resource and method stubs.
22
- # Used by the Service and Service::Resource classes to generate both
23
- # top-level and nested resources and methods.
24
- module StubGenerator
25
- def generate_call_stubs(service, root)
26
- metaclass = (class << self; self; end)
27
-
28
- # Handle resources.
29
- root.discovered_resources.each do |resource|
30
- method_name = ActiveSupport::Inflector.underscore(resource.name).to_sym
31
- if !self.respond_to?(method_name)
32
- metaclass.send(:define_method, method_name) do
33
- Google::APIClient::Service::Resource.new(service, resource)
34
- end
35
- end
36
- end
37
-
38
- # Handle methods.
39
- root.discovered_methods.each do |method|
40
- method_name = ActiveSupport::Inflector.underscore(method.name).to_sym
41
- if !self.respond_to?(method_name)
42
- metaclass.send(:define_method, method_name) do |*args|
43
- if args.length > 1
44
- raise ArgumentError,
45
- "wrong number of arguments (#{args.length} for 1)"
46
- elsif !args.first.respond_to?(:to_hash) && !args.first.nil?
47
- raise ArgumentError,
48
- "expected parameter Hash, got #{args.first.class}"
49
- else
50
- return Google::APIClient::Service::Request.new(
51
- service, method, args.first
52
- )
53
- end
54
- end
55
- end
56
- end
57
- end
58
- end
59
- end
60
- end
61
- end
@@ -1,248 +0,0 @@
1
- # Copyright 2012 Google Inc.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- require 'spec_helper'
16
- require 'google/api_client'
17
-
18
- RSpec.describe Google::APIClient::BatchRequest do
19
- CLIENT = Google::APIClient.new(:application_name => 'API Client Tests') unless defined?(CLIENT)
20
-
21
- after do
22
- # Reset client to not-quite-pristine state
23
- CLIENT.key = nil
24
- CLIENT.user_ip = nil
25
- end
26
-
27
- it 'should raise an error if making an empty batch request' do
28
- batch = Google::APIClient::BatchRequest.new
29
-
30
- expect(lambda do
31
- CLIENT.execute(batch)
32
- end).to raise_error(Google::APIClient::BatchError)
33
- end
34
-
35
- it 'should allow query parameters in batch requests' do
36
- batch = Google::APIClient::BatchRequest.new
37
- batch.add(:uri => 'https://example.com', :parameters => {
38
- 'a' => '12345'
39
- })
40
- method, uri, headers, body = batch.to_http_request
41
- expect(body.read).to include("/?a=12345")
42
- end
43
-
44
- describe 'with the discovery API' do
45
- before do
46
- CLIENT.authorization = nil
47
- @discovery = CLIENT.discovered_api('discovery', 'v1')
48
- end
49
-
50
- describe 'with two valid requests' do
51
- before do
52
- @call1 = {
53
- :api_method => @discovery.apis.get_rest,
54
- :parameters => {
55
- 'api' => 'plus',
56
- 'version' => 'v1'
57
- }
58
- }
59
-
60
- @call2 = {
61
- :api_method => @discovery.apis.get_rest,
62
- :parameters => {
63
- 'api' => 'discovery',
64
- 'version' => 'v1'
65
- }
66
- }
67
- end
68
-
69
- it 'should execute both when using a global callback' do
70
- block_called = 0
71
- ids = ['first_call', 'second_call']
72
- expected_ids = ids.clone
73
- batch = Google::APIClient::BatchRequest.new do |result|
74
- block_called += 1
75
- expect(result.status).to eq(200)
76
- expect(expected_ids).to include(result.response.call_id)
77
- expected_ids.delete(result.response.call_id)
78
- end
79
-
80
- batch.add(@call1, ids[0])
81
- batch.add(@call2, ids[1])
82
-
83
- CLIENT.execute(batch)
84
- expect(block_called).to eq(2)
85
- end
86
-
87
- it 'should execute both when using individual callbacks' do
88
- batch = Google::APIClient::BatchRequest.new
89
-
90
- call1_returned, call2_returned = false, false
91
- batch.add(@call1) do |result|
92
- call1_returned = true
93
- expect(result.status).to eq(200)
94
- end
95
- batch.add(@call2) do |result|
96
- call2_returned = true
97
- expect(result.status).to eq(200)
98
- end
99
-
100
- CLIENT.execute(batch)
101
- expect(call1_returned).to be_truthy
102
- expect(call2_returned).to be_truthy
103
- end
104
-
105
- it 'should raise an error if using the same call ID more than once' do
106
- batch = Google::APIClient::BatchRequest.new
107
-
108
- expect(lambda do
109
- batch.add(@call1, 'my_id')
110
- batch.add(@call2, 'my_id')
111
- end).to raise_error(Google::APIClient::BatchError)
112
- end
113
- end
114
-
115
- describe 'with a valid request and an invalid one' do
116
- before do
117
- @call1 = {
118
- :api_method => @discovery.apis.get_rest,
119
- :parameters => {
120
- 'api' => 'plus',
121
- 'version' => 'v1'
122
- }
123
- }
124
-
125
- @call2 = {
126
- :api_method => @discovery.apis.get_rest,
127
- :parameters => {
128
- 'api' => 0,
129
- 'version' => 1
130
- }
131
- }
132
- end
133
-
134
- it 'should execute both when using a global callback' do
135
- block_called = 0
136
- ids = ['first_call', 'second_call']
137
- expected_ids = ids.clone
138
- batch = Google::APIClient::BatchRequest.new do |result|
139
- block_called += 1
140
- expect(expected_ids).to include(result.response.call_id)
141
- expected_ids.delete(result.response.call_id)
142
- if result.response.call_id == ids[0]
143
- expect(result.status).to eq(200)
144
- else
145
- expect(result.status).to be >= 400
146
- expect(result.status).to be < 500
147
- end
148
- end
149
-
150
- batch.add(@call1, ids[0])
151
- batch.add(@call2, ids[1])
152
-
153
- CLIENT.execute(batch)
154
- expect(block_called).to eq(2)
155
- end
156
-
157
- it 'should execute both when using individual callbacks' do
158
- batch = Google::APIClient::BatchRequest.new
159
-
160
- call1_returned, call2_returned = false, false
161
- batch.add(@call1) do |result|
162
- call1_returned = true
163
- expect(result.status).to eq(200)
164
- end
165
- batch.add(@call2) do |result|
166
- call2_returned = true
167
- expect(result.status).to be >= 400
168
- expect(result.status).to be < 500
169
- end
170
-
171
- CLIENT.execute(batch)
172
- expect(call1_returned).to be_truthy
173
- expect(call2_returned).to be_truthy
174
- end
175
- end
176
- end
177
-
178
- describe 'with the calendar API' do
179
- before do
180
- CLIENT.authorization = nil
181
- @calendar = CLIENT.discovered_api('calendar', 'v3')
182
- end
183
-
184
- describe 'with two valid requests' do
185
- before do
186
- event1 = {
187
- 'summary' => 'Appointment 1',
188
- 'location' => 'Somewhere',
189
- 'start' => {
190
- 'dateTime' => '2011-01-01T10:00:00.000-07:00'
191
- },
192
- 'end' => {
193
- 'dateTime' => '2011-01-01T10:25:00.000-07:00'
194
- },
195
- 'attendees' => [
196
- {
197
- 'email' => 'myemail@mydomain.tld'
198
- }
199
- ]
200
- }
201
-
202
- event2 = {
203
- 'summary' => 'Appointment 2',
204
- 'location' => 'Somewhere as well',
205
- 'start' => {
206
- 'dateTime' => '2011-01-02T10:00:00.000-07:00'
207
- },
208
- 'end' => {
209
- 'dateTime' => '2011-01-02T10:25:00.000-07:00'
210
- },
211
- 'attendees' => [
212
- {
213
- 'email' => 'myemail@mydomain.tld'
214
- }
215
- ]
216
- }
217
-
218
- @call1 = {
219
- :api_method => @calendar.events.insert,
220
- :parameters => {'calendarId' => 'myemail@mydomain.tld'},
221
- :body => MultiJson.dump(event1),
222
- :headers => {'Content-Type' => 'application/json'}
223
- }
224
-
225
- @call2 = {
226
- :api_method => @calendar.events.insert,
227
- :parameters => {'calendarId' => 'myemail@mydomain.tld'},
228
- :body => MultiJson.dump(event2),
229
- :headers => {'Content-Type' => 'application/json'}
230
- }
231
- end
232
-
233
- it 'should convert to a correct HTTP request' do
234
- batch = Google::APIClient::BatchRequest.new { |result| }
235
- batch.add(@call1, '1').add(@call2, '2')
236
- request = batch.to_env(CLIENT.connection)
237
- boundary = Google::APIClient::BatchRequest::BATCH_BOUNDARY
238
- expect(request[:method].to_s.downcase).to eq('post')
239
- expect(request[:url].to_s).to eq('https://www.googleapis.com/batch')
240
- expect(request[:request_headers]['Content-Type']).to eq("multipart/mixed;boundary=#{boundary}")
241
- body = request[:body].read
242
- expect(body).to include(@call1[:body])
243
- expect(body).to include(@call2[:body])
244
- end
245
- end
246
-
247
- end
248
- end