google-api-client 0.8.3 → 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 +52 -2
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +35 -1
  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/classes.rb +1335 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +446 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +872 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  21. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  22. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +309 -0
  23. data/generated/google/apis/adexchangeseller_v2_0/service.rb +668 -0
  24. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  25. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  26. data/generated/google/apis/admin_datatransfer_v1/representations.rb +118 -0
  27. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  28. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  29. data/generated/google/apis/admin_directory_v1/classes.rb +3141 -0
  30. data/generated/google/apis/admin_directory_v1/representations.rb +1029 -0
  31. data/generated/google/apis/admin_directory_v1/service.rb +3818 -0
  32. data/generated/google/apis/admin_directory_v1.rb +113 -0
  33. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  34. data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
  35. data/generated/google/apis/admin_reports_v1/service.rb +336 -0
  36. data/generated/google/apis/admin_reports_v1.rb +38 -0
  37. data/generated/google/apis/adsense_v1_4/classes.rb +1285 -0
  38. data/generated/google/apis/adsense_v1_4/representations.rb +494 -0
  39. data/generated/google/apis/adsense_v1_4/service.rb +1714 -0
  40. data/generated/google/apis/adsense_v1_4.rb +38 -0
  41. data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
  42. data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
  43. data/generated/google/apis/adsensehost_v4_1/service.rb +1164 -0
  44. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  45. data/generated/google/apis/analytics_v3/classes.rb +5118 -0
  46. data/generated/google/apis/analytics_v3/representations.rb +1662 -0
  47. data/generated/google/apis/analytics_v3/service.rb +3568 -0
  48. data/generated/google/apis/analytics_v3.rb +49 -0
  49. data/generated/google/apis/androidenterprise_v1/classes.rb +1443 -0
  50. data/generated/google/apis/androidenterprise_v1/representations.rb +538 -0
  51. data/generated/google/apis/androidenterprise_v1/service.rb +2602 -0
  52. data/generated/google/apis/androidenterprise_v1.rb +35 -0
  53. data/generated/google/apis/androidpublisher_v2/classes.rb +1411 -0
  54. data/generated/google/apis/androidpublisher_v2/representations.rb +646 -0
  55. data/generated/google/apis/androidpublisher_v2/service.rb +2338 -0
  56. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  57. data/generated/google/apis/appengine_v1beta4/classes.rb +1532 -0
  58. data/generated/google/apis/appengine_v1beta4/representations.rb +526 -0
  59. data/generated/google/apis/appengine_v1beta4/service.rb +476 -0
  60. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  61. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  62. data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
  63. data/generated/google/apis/appsactivity_v1/service.rb +128 -0
  64. data/generated/google/apis/appsactivity_v1.rb +46 -0
  65. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  66. data/generated/google/apis/appstate_v1/representations.rb +79 -0
  67. data/generated/google/apis/appstate_v1/service.rb +260 -0
  68. data/generated/google/apis/appstate_v1.rb +34 -0
  69. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  70. data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
  71. data/generated/google/apis/autoscaler_v1beta2/service.rb +478 -0
  72. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  73. data/generated/google/apis/bigquery_v2/classes.rb +2471 -0
  74. data/generated/google/apis/bigquery_v2/representations.rb +816 -0
  75. data/generated/google/apis/bigquery_v2/service.rb +982 -0
  76. data/generated/google/apis/bigquery_v2.rb +52 -0
  77. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  78. data/generated/google/apis/blogger_v3/representations.rb +562 -0
  79. data/generated/google/apis/blogger_v3/service.rb +1587 -0
  80. data/generated/google/apis/blogger_v3.rb +37 -0
  81. data/generated/google/apis/books_v1/classes.rb +3956 -0
  82. data/generated/google/apis/books_v1/representations.rb +1538 -0
  83. data/generated/google/apis/books_v1/service.rb +2290 -0
  84. data/generated/google/apis/books_v1.rb +34 -0
  85. data/generated/google/apis/calendar_v3/classes.rb +1742 -0
  86. data/generated/google/apis/calendar_v3/representations.rb +567 -0
  87. data/generated/google/apis/calendar_v3/service.rb +1968 -0
  88. data/generated/google/apis/calendar_v3.rb +37 -0
  89. data/generated/google/apis/civicinfo_v2/classes.rb +1127 -0
  90. data/generated/google/apis/civicinfo_v2/representations.rb +383 -0
  91. data/generated/google/apis/civicinfo_v2/service.rb +279 -0
  92. data/{lib/google/api_client/service_account.rb → generated/google/apis/civicinfo_v2.rb} +18 -8
  93. data/generated/google/apis/classroom_v1/classes.rb +512 -0
  94. data/generated/google/apis/classroom_v1/representations.rb +217 -0
  95. data/generated/google/apis/classroom_v1/service.rb +970 -0
  96. data/generated/google/apis/classroom_v1.rb +49 -0
  97. data/generated/google/apis/classroom_v1beta1/classes.rb +447 -0
  98. data/generated/google/apis/classroom_v1beta1/representations.rb +190 -0
  99. data/generated/google/apis/classroom_v1beta1/service.rb +791 -0
  100. data/generated/google/apis/classroom_v1beta1.rb +49 -0
  101. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  102. data/generated/google/apis/cloudbilling_v1/representations.rb +79 -0
  103. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  104. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  105. data/generated/google/apis/clouddebugger_v2/classes.rb +1004 -0
  106. data/generated/google/apis/clouddebugger_v2/representations.rb +410 -0
  107. data/generated/google/apis/clouddebugger_v2/service.rb +370 -0
  108. data/generated/google/apis/clouddebugger_v2.rb +41 -0
  109. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  110. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
  111. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +452 -0
  112. data/generated/google/apis/cloudmonitoring_v2beta2.rb +37 -0
  113. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +437 -0
  114. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +188 -0
  115. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +623 -0
  116. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  117. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  118. data/generated/google/apis/cloudtrace_v1/representations.rb +92 -0
  119. data/generated/google/apis/cloudtrace_v1/service.rb +190 -0
  120. data/generated/google/apis/cloudtrace_v1.rb +35 -0
  121. data/generated/google/apis/clouduseraccounts_beta/classes.rb +823 -0
  122. data/generated/google/apis/clouduseraccounts_beta/representations.rb +313 -0
  123. data/generated/google/apis/clouduseraccounts_beta/service.rb +854 -0
  124. data/generated/google/apis/clouduseraccounts_beta.rb +43 -0
  125. data/generated/google/apis/compute_beta/classes.rb +9128 -0
  126. data/generated/google/apis/compute_beta/representations.rb +3048 -0
  127. data/generated/google/apis/compute_beta/service.rb +10154 -0
  128. data/generated/google/apis/compute_beta.rb +49 -0
  129. data/generated/google/apis/compute_v1/classes.rb +8681 -0
  130. data/generated/google/apis/compute_v1/representations.rb +2895 -0
  131. data/generated/google/apis/compute_v1/service.rb +9252 -0
  132. data/generated/google/apis/compute_v1.rb +49 -0
  133. data/generated/google/apis/container_v1/classes.rb +463 -0
  134. data/generated/google/apis/container_v1/representations.rb +175 -0
  135. data/generated/google/apis/container_v1/service.rb +367 -0
  136. data/generated/google/apis/container_v1.rb +35 -0
  137. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  138. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  139. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  140. data/generated/google/apis/container_v1beta1.rb +35 -0
  141. data/generated/google/apis/content_v2/classes.rb +5986 -0
  142. data/generated/google/apis/content_v2/representations.rb +2288 -0
  143. data/generated/google/apis/content_v2/service.rb +2338 -0
  144. data/generated/google/apis/content_v2.rb +35 -0
  145. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  146. data/generated/google/apis/coordinate_v1/representations.rb +285 -0
  147. data/generated/google/apis/coordinate_v1/service.rb +678 -0
  148. data/generated/google/apis/coordinate_v1.rb +37 -0
  149. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  150. data/generated/google/apis/customsearch_v1/representations.rb +276 -0
  151. data/generated/google/apis/customsearch_v1/service.rb +207 -0
  152. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  153. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  154. data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
  155. data/generated/google/apis/datastore_v1beta2/service.rb +294 -0
  156. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  157. data/generated/google/apis/deploymentmanager_v2/classes.rb +1091 -0
  158. data/generated/google/apis/deploymentmanager_v2/representations.rb +422 -0
  159. data/generated/google/apis/deploymentmanager_v2/service.rb +857 -0
  160. data/generated/google/apis/deploymentmanager_v2.rb +44 -0
  161. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +843 -0
  162. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +306 -0
  163. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +689 -0
  164. data/generated/google/apis/deploymentmanager_v2beta2.rb +44 -0
  165. data/generated/google/apis/dfareporting_v2_1/classes.rb +10770 -0
  166. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  167. data/generated/google/apis/dfareporting_v2_1/service.rb +8585 -0
  168. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  169. data/generated/google/apis/discovery_v1/classes.rb +961 -0
  170. data/generated/google/apis/discovery_v1/representations.rb +357 -0
  171. data/generated/google/apis/discovery_v1/service.rb +142 -0
  172. data/generated/google/apis/discovery_v1.rb +32 -0
  173. data/generated/google/apis/dns_v1/classes.rb +406 -0
  174. data/generated/google/apis/dns_v1/representations.rb +151 -0
  175. data/generated/google/apis/dns_v1/service.rb +454 -0
  176. data/generated/google/apis/dns_v1.rb +44 -0
  177. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +716 -0
  178. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +298 -0
  179. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +341 -0
  180. data/generated/google/apis/doubleclickbidmanager_v1.rb +31 -0
  181. data/generated/google/apis/doubleclicksearch_v2/classes.rb +956 -0
  182. data/generated/google/apis/doubleclicksearch_v2/representations.rb +316 -0
  183. data/generated/google/apis/doubleclicksearch_v2/service.rb +480 -0
  184. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  185. data/generated/google/apis/drive_v2/classes.rb +2562 -0
  186. data/generated/google/apis/drive_v2/representations.rb +795 -0
  187. data/generated/google/apis/drive_v2/service.rb +2696 -0
  188. data/generated/google/apis/drive_v2.rb +58 -0
  189. data/generated/google/apis/drive_v3/classes.rb +1534 -0
  190. data/generated/google/apis/drive_v3/representations.rb +497 -0
  191. data/generated/google/apis/drive_v3/service.rb +1541 -0
  192. data/generated/google/apis/drive_v3.rb +55 -0
  193. data/generated/google/apis/fitness_v1/classes.rb +885 -0
  194. data/generated/google/apis/fitness_v1/representations.rb +320 -0
  195. data/generated/google/apis/fitness_v1/service.rb +675 -0
  196. data/generated/google/apis/fitness_v1.rb +49 -0
  197. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  198. data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
  199. data/generated/google/apis/fusiontables_v2/service.rb +1463 -0
  200. data/generated/google/apis/fusiontables_v2.rb +37 -0
  201. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  202. data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
  203. data/generated/google/apis/games_configuration_v1configuration/service.rb +565 -0
  204. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  205. data/generated/google/apis/games_management_v1management/classes.rb +524 -0
  206. data/generated/google/apis/games_management_v1management/representations.rb +231 -0
  207. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  208. data/generated/google/apis/games_management_v1management.rb +37 -0
  209. data/generated/google/apis/games_v1/classes.rb +4617 -0
  210. data/generated/google/apis/games_v1/representations.rb +1584 -0
  211. data/generated/google/apis/games_v1/service.rb +2290 -0
  212. data/generated/google/apis/games_v1.rb +40 -0
  213. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  214. data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
  215. data/generated/google/apis/gan_v1beta1/service.rb +682 -0
  216. data/generated/google/apis/gan_v1beta1.rb +31 -0
  217. data/generated/google/apis/genomics_v1/classes.rb +2609 -0
  218. data/generated/google/apis/genomics_v1/representations.rb +909 -0
  219. data/generated/google/apis/genomics_v1/service.rb +1676 -0
  220. data/generated/google/apis/genomics_v1.rb +49 -0
  221. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  222. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  223. data/generated/google/apis/genomics_v1beta2/service.rb +2392 -0
  224. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  225. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  226. data/generated/google/apis/gmail_v1/representations.rb +339 -0
  227. data/generated/google/apis/gmail_v1/service.rb +1470 -0
  228. data/generated/google/apis/gmail_v1.rb +52 -0
  229. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  230. data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
  231. data/generated/google/apis/groupsmigration_v1/service.rb +110 -0
  232. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  233. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  234. data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
  235. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  236. data/generated/google/apis/groupssettings_v1.rb +34 -0
  237. data/generated/google/apis/identitytoolkit_v3/classes.rb +1466 -0
  238. data/generated/google/apis/identitytoolkit_v3/representations.rb +509 -0
  239. data/generated/google/apis/identitytoolkit_v3/service.rb +581 -0
  240. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  241. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  242. data/generated/google/apis/kgsearch_v1/representations.rb +39 -0
  243. data/generated/google/apis/kgsearch_v1/service.rb +111 -0
  244. data/{spec/google/api_client/request_spec.rb → generated/google/apis/kgsearch_v1.rb} +16 -13
  245. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  246. data/generated/google/apis/licensing_v1/representations.rb +68 -0
  247. data/generated/google/apis/licensing_v1/service.rb +369 -0
  248. data/generated/google/apis/licensing_v1.rb +34 -0
  249. data/generated/google/apis/logging_v1beta3/classes.rb +1079 -0
  250. data/generated/google/apis/logging_v1beta3/representations.rb +366 -0
  251. data/generated/google/apis/logging_v1beta3/service.rb +1001 -0
  252. data/generated/google/apis/logging_v1beta3.rb +47 -0
  253. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  254. data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
  255. data/generated/google/apis/manager_v1beta2/service.rb +372 -0
  256. data/generated/google/apis/manager_v1beta2.rb +53 -0
  257. data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
  258. data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
  259. data/generated/google/apis/mapsengine_v1/service.rb +3388 -0
  260. data/generated/google/apis/mapsengine_v1.rb +38 -0
  261. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  262. data/generated/google/apis/mirror_v1/representations.rb +350 -0
  263. data/generated/google/apis/mirror_v1/service.rb +977 -0
  264. data/generated/google/apis/mirror_v1.rb +37 -0
  265. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  266. data/generated/google/apis/oauth2_v2/representations.rb +94 -0
  267. data/generated/google/apis/oauth2_v2/service.rb +199 -0
  268. data/generated/google/apis/oauth2_v2.rb +43 -0
  269. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  270. data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
  271. data/generated/google/apis/pagespeedonline_v2/service.rb +119 -0
  272. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  273. data/generated/google/apis/partners_v2/classes.rb +942 -0
  274. data/generated/google/apis/partners_v2/representations.rb +402 -0
  275. data/generated/google/apis/partners_v2/service.rb +400 -0
  276. data/generated/google/apis/partners_v2.rb +32 -0
  277. data/generated/google/apis/plus_domains_v1/classes.rb +2609 -0
  278. data/generated/google/apis/plus_domains_v1/representations.rb +987 -0
  279. data/generated/google/apis/plus_domains_v1/service.rb +904 -0
  280. data/generated/google/apis/plus_domains_v1.rb +61 -0
  281. data/generated/google/apis/plus_v1/classes.rb +2094 -0
  282. data/generated/google/apis/plus_v1/representations.rb +805 -0
  283. data/generated/google/apis/plus_v1/service.rb +470 -0
  284. data/generated/google/apis/plus_v1.rb +43 -0
  285. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  286. data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
  287. data/generated/google/apis/prediction_v1_6/service.rb +380 -0
  288. data/generated/google/apis/prediction_v1_6.rb +44 -0
  289. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +639 -0
  290. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +274 -0
  291. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +591 -0
  292. data/generated/google/apis/proximitybeacon_v1beta1.rb +31 -0
  293. data/generated/google/apis/pubsub_v1/classes.rb +614 -0
  294. data/generated/google/apis/pubsub_v1/representations.rb +281 -0
  295. data/generated/google/apis/pubsub_v1/service.rb +774 -0
  296. data/generated/google/apis/pubsub_v1.rb +37 -0
  297. data/generated/google/apis/pubsub_v1beta2/classes.rb +620 -0
  298. data/generated/google/apis/pubsub_v1beta2/representations.rb +282 -0
  299. data/generated/google/apis/pubsub_v1beta2/service.rb +774 -0
  300. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  301. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  302. data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
  303. data/generated/google/apis/qpx_express_v1/service.rb +100 -0
  304. data/generated/google/apis/qpx_express_v1.rb +31 -0
  305. data/generated/google/apis/replicapool_v1beta2/classes.rb +631 -0
  306. data/generated/google/apis/replicapool_v1beta2/representations.rb +236 -0
  307. data/generated/google/apis/replicapool_v1beta2/service.rb +608 -0
  308. data/generated/google/apis/replicapool_v1beta2.rb +44 -0
  309. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +733 -0
  310. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +264 -0
  311. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +508 -0
  312. data/generated/google/apis/replicapoolupdater_v1beta1.rb +44 -0
  313. data/generated/google/apis/reseller_v1/classes.rb +520 -0
  314. data/generated/google/apis/reseller_v1/representations.rb +200 -0
  315. data/generated/google/apis/reseller_v1/service.rb +623 -0
  316. data/generated/google/apis/reseller_v1.rb +37 -0
  317. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  318. data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
  319. data/generated/google/apis/resourceviews_v1beta2/service.rb +563 -0
  320. data/generated/google/apis/resourceviews_v1beta2.rb +50 -0
  321. data/generated/google/apis/script_v1/classes.rb +259 -0
  322. data/generated/google/apis/script_v1/representations.rb +106 -0
  323. data/generated/google/apis/script_v1/service.rb +98 -0
  324. data/generated/google/apis/script_v1.rb +61 -0
  325. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  326. data/generated/google/apis/site_verification_v1/representations.rb +101 -0
  327. data/generated/google/apis/site_verification_v1/service.rb +315 -0
  328. data/generated/google/apis/site_verification_v1.rb +37 -0
  329. data/generated/google/apis/sqladmin_v1beta4/classes.rb +2001 -0
  330. data/generated/google/apis/sqladmin_v1beta4/representations.rb +758 -0
  331. data/generated/google/apis/sqladmin_v1beta4/service.rb +1625 -0
  332. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  333. data/generated/google/apis/storage_v1/classes.rb +1222 -0
  334. data/generated/google/apis/storage_v1/representations.rb +445 -0
  335. data/generated/google/apis/storage_v1/service.rb +1903 -0
  336. data/generated/google/apis/storage_v1.rb +46 -0
  337. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  338. data/generated/google/apis/storagetransfer_v1/representations.rb +370 -0
  339. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  340. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  341. data/generated/google/apis/tagmanager_v1/classes.rb +1384 -0
  342. data/generated/google/apis/tagmanager_v1/representations.rb +515 -0
  343. data/generated/google/apis/tagmanager_v1/service.rb +1817 -0
  344. data/generated/google/apis/tagmanager_v1.rb +52 -0
  345. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  346. data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
  347. data/generated/google/apis/taskqueue_v1beta2/service.rb +408 -0
  348. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  349. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  350. data/generated/google/apis/tasks_v1/representations.rb +115 -0
  351. data/generated/google/apis/tasks_v1/service.rb +643 -0
  352. data/generated/google/apis/tasks_v1.rb +37 -0
  353. data/generated/google/apis/translate_v2/classes.rb +168 -0
  354. data/generated/google/apis/translate_v2/representations.rb +109 -0
  355. data/generated/google/apis/translate_v2/service.rb +182 -0
  356. data/generated/google/apis/translate_v2.rb +31 -0
  357. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  358. data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
  359. data/generated/google/apis/urlshortener_v1/service.rb +176 -0
  360. data/generated/google/apis/urlshortener_v1.rb +34 -0
  361. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  362. data/generated/google/apis/webmasters_v3/representations.rb +250 -0
  363. data/generated/google/apis/webmasters_v3/service.rb +573 -0
  364. data/generated/google/apis/webmasters_v3.rb +37 -0
  365. data/generated/google/apis/youtube_analytics_v1/classes.rb +546 -0
  366. data/generated/google/apis/youtube_analytics_v1/representations.rb +243 -0
  367. data/generated/google/apis/youtube_analytics_v1/service.rb +562 -0
  368. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  369. data/generated/google/apis/youtube_v3/classes.rb +8136 -0
  370. data/generated/google/apis/youtube_v3/representations.rb +2838 -0
  371. data/generated/google/apis/youtube_v3/service.rb +4403 -0
  372. data/generated/google/apis/youtube_v3.rb +49 -0
  373. data/generated/google/apis/youtubereporting_v1/classes.rb +258 -0
  374. data/generated/google/apis/youtubereporting_v1/representations.rb +128 -0
  375. data/generated/google/apis/youtubereporting_v1/service.rb +364 -0
  376. data/generated/google/apis/youtubereporting_v1.rb +38 -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 +12 -11
  380. data/lib/google/api_client/auth/storage.rb +5 -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/core/api_command.rb +135 -0
  385. data/lib/google/apis/core/base_service.rb +317 -0
  386. data/lib/google/apis/core/batch.rb +239 -0
  387. data/lib/google/apis/core/download.rb +94 -0
  388. data/lib/google/apis/core/hashable.rb +44 -0
  389. data/lib/google/apis/core/http_client_adapter.rb +82 -0
  390. data/lib/google/apis/core/http_command.rb +312 -0
  391. data/lib/google/apis/core/json_representation.rb +127 -0
  392. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  393. data/lib/google/apis/core/multipart.rb +187 -0
  394. data/lib/google/apis/core/upload.rb +288 -0
  395. data/lib/google/{api_client → apis}/errors.rb +39 -28
  396. data/lib/google/apis/generator/annotator.rb +295 -0
  397. data/lib/google/apis/generator/helpers.rb +74 -0
  398. data/lib/google/apis/generator/model.rb +143 -0
  399. data/lib/google/apis/generator/template.rb +124 -0
  400. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  401. data/lib/google/apis/generator/templates/_method.tmpl +92 -0
  402. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  403. data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
  404. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  405. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  406. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  407. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  408. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  409. data/lib/google/apis/generator.rb +70 -0
  410. data/lib/google/apis/options.rb +85 -0
  411. data/lib/google/apis/version.rb +39 -0
  412. data/lib/google/apis.rb +48 -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/load_path_spec.rb +33 -0
  460. data/spec/spec_helper.rb +131 -44
  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/auth/file_storage.rb +0 -59
  465. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  466. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  467. data/lib/google/api_client/batch.rb +0 -325
  468. data/lib/google/api_client/charset.rb +0 -33
  469. data/lib/google/api_client/discovery/api.rb +0 -300
  470. data/lib/google/api_client/discovery/media.rb +0 -77
  471. data/lib/google/api_client/discovery/method.rb +0 -363
  472. data/lib/google/api_client/discovery/resource.rb +0 -156
  473. data/lib/google/api_client/discovery/schema.rb +0 -119
  474. data/lib/google/api_client/environment.rb +0 -42
  475. data/lib/google/api_client/gzip.rb +0 -28
  476. data/lib/google/api_client/logging.rb +0 -32
  477. data/lib/google/api_client/media.rb +0 -259
  478. data/lib/google/api_client/railtie.rb +0 -18
  479. data/lib/google/api_client/request.rb +0 -350
  480. data/lib/google/api_client/result.rb +0 -255
  481. data/lib/google/api_client/service/batch.rb +0 -110
  482. data/lib/google/api_client/service/request.rb +0 -144
  483. data/lib/google/api_client/service/resource.rb +0 -40
  484. data/lib/google/api_client/service/result.rb +0 -162
  485. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  486. data/lib/google/api_client/service/stub_generator.rb +0 -61
  487. data/lib/google/api_client/service.rb +0 -233
  488. data/lib/google/api_client.rb +0 -750
  489. data/spec/google/api_client/batch_spec.rb +0 -248
  490. data/spec/google/api_client/discovery_spec.rb +0 -662
  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,255 +0,0 @@
1
- # Copyright 2010 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
-
16
- module Google
17
- class APIClient
18
- ##
19
- # This class wraps a result returned by an API call.
20
- class Result
21
- extend Forwardable
22
-
23
- ##
24
- # Init the result
25
- #
26
- # @param [Google::APIClient::Request] request
27
- # The original request
28
- # @param [Faraday::Response] response
29
- # Raw HTTP Response
30
- def initialize(request, response)
31
- @request = request
32
- @response = response
33
- @media_upload = reference if reference.kind_of?(ResumableUpload)
34
- end
35
-
36
- # @return [Google::APIClient::Request] Original request object
37
- attr_reader :request
38
- # @return [Faraday::Response] HTTP response
39
- attr_reader :response
40
- # @!attribute [r] reference
41
- # @return [Google::APIClient::Request] Original request object
42
- # @deprecated See {#request}
43
- alias_method :reference, :request # For compatibility with pre-beta clients
44
-
45
- # @!attribute [r] status
46
- # @return [Fixnum] HTTP status code
47
- # @!attribute [r] headers
48
- # @return [Hash] HTTP response headers
49
- # @!attribute [r] body
50
- # @return [String] HTTP response body
51
- def_delegators :@response, :status, :headers, :body
52
-
53
- # @!attribute [r] resumable_upload
54
- # @return [Google::APIClient::ResumableUpload] For resuming media uploads
55
- def resumable_upload
56
- @media_upload ||= (
57
- options = self.reference.to_hash.merge(
58
- :uri => self.headers['location'],
59
- :media => self.reference.media
60
- )
61
- Google::APIClient::ResumableUpload.new(options)
62
- )
63
- end
64
-
65
- ##
66
- # Get the content type of the response
67
- # @!attribute [r] media_type
68
- # @return [String]
69
- # Value of content-type header
70
- def media_type
71
- _, content_type = self.headers.detect do |h, v|
72
- h.downcase == 'Content-Type'.downcase
73
- end
74
- if content_type
75
- return content_type[/^([^;]*);?.*$/, 1].strip.downcase
76
- else
77
- return nil
78
- end
79
- end
80
-
81
- ##
82
- # Check if request failed
83
- #
84
- # @!attribute [r] error?
85
- # @return [TrueClass, FalseClass]
86
- # true if result of operation is an error
87
- def error?
88
- return self.response.status >= 400
89
- end
90
-
91
- ##
92
- # Check if request was successful
93
- #
94
- # @!attribute [r] success?
95
- # @return [TrueClass, FalseClass]
96
- # true if result of operation was successful
97
- def success?
98
- return !self.error?
99
- end
100
-
101
- ##
102
- # Extracts error messages from the response body
103
- #
104
- # @!attribute [r] error_message
105
- # @return [String]
106
- # error message, if available
107
- def error_message
108
- if self.data?
109
- if self.data.respond_to?(:error) &&
110
- self.data.error.respond_to?(:message)
111
- # You're going to get a terrible error message if the response isn't
112
- # parsed successfully as an error.
113
- return self.data.error.message
114
- elsif self.data['error'] && self.data['error']['message']
115
- return self.data['error']['message']
116
- end
117
- end
118
- return self.body
119
- end
120
-
121
- ##
122
- # Check for parsable data in response
123
- #
124
- # @!attribute [r] data?
125
- # @return [TrueClass, FalseClass]
126
- # true if body can be parsed
127
- def data?
128
- !(self.body.nil? || self.body.empty? || self.media_type != 'application/json')
129
- end
130
-
131
- ##
132
- # Return parsed version of the response body.
133
- #
134
- # @!attribute [r] data
135
- # @return [Object, Hash, String]
136
- # Object if body parsable from API schema, Hash if JSON, raw body if unable to parse
137
- def data
138
- return @data ||= (begin
139
- if self.data?
140
- media_type = self.media_type
141
- data = self.body
142
- case media_type
143
- when 'application/json'
144
- data = MultiJson.load(data)
145
- # Strip data wrapper, if present
146
- data = data['data'] if data.has_key?('data')
147
- else
148
- raise ArgumentError,
149
- "Content-Type not supported for parsing: #{media_type}"
150
- end
151
- if @request.api_method && @request.api_method.response_schema
152
- # Automatically parse using the schema designated for the
153
- # response of this API method.
154
- data = @request.api_method.response_schema.new(data)
155
- data
156
- else
157
- # Otherwise, return the raw unparsed value.
158
- # This value must be indexable like a Hash.
159
- data
160
- end
161
- end
162
- end)
163
- end
164
-
165
- ##
166
- # Get the token used for requesting the next page of data
167
- #
168
- # @!attribute [r] next_page_token
169
- # @return [String]
170
- # next page token
171
- def next_page_token
172
- if self.data.respond_to?(:next_page_token)
173
- return self.data.next_page_token
174
- elsif self.data.respond_to?(:[])
175
- return self.data["nextPageToken"]
176
- else
177
- raise TypeError, "Data object did not respond to #next_page_token."
178
- end
179
- end
180
-
181
- ##
182
- # Build a request for fetching the next page of data
183
- #
184
- # @return [Google::APIClient::Request]
185
- # API request for retrieving next page, nil if no page token available
186
- def next_page
187
- return nil unless self.next_page_token
188
- merged_parameters = Hash[self.reference.parameters].merge({
189
- self.page_token_param => self.next_page_token
190
- })
191
- # Because Requests can be coerced to Hashes, we can merge them,
192
- # preserving all context except the API method parameters that we're
193
- # using for pagination.
194
- return Google::APIClient::Request.new(
195
- Hash[self.reference].merge(:parameters => merged_parameters)
196
- )
197
- end
198
-
199
- ##
200
- # Get the token used for requesting the previous page of data
201
- #
202
- # @!attribute [r] prev_page_token
203
- # @return [String]
204
- # previous page token
205
- def prev_page_token
206
- if self.data.respond_to?(:prev_page_token)
207
- return self.data.prev_page_token
208
- elsif self.data.respond_to?(:[])
209
- return self.data["prevPageToken"]
210
- else
211
- raise TypeError, "Data object did not respond to #next_page_token."
212
- end
213
- end
214
-
215
- ##
216
- # Build a request for fetching the previous page of data
217
- #
218
- # @return [Google::APIClient::Request]
219
- # API request for retrieving previous page, nil if no page token available
220
- def prev_page
221
- return nil unless self.prev_page_token
222
- merged_parameters = Hash[self.reference.parameters].merge({
223
- self.page_token_param => self.prev_page_token
224
- })
225
- # Because Requests can be coerced to Hashes, we can merge them,
226
- # preserving all context except the API method parameters that we're
227
- # using for pagination.
228
- return Google::APIClient::Request.new(
229
- Hash[self.reference].merge(:parameters => merged_parameters)
230
- )
231
- end
232
-
233
- ##
234
- # Pagination scheme used by this request/response
235
- #
236
- # @!attribute [r] pagination_type
237
- # @return [Symbol]
238
- # currently always :token
239
- def pagination_type
240
- return :token
241
- end
242
-
243
- ##
244
- # Name of the field that contains the pagination token
245
- #
246
- # @!attribute [r] page_token_param
247
- # @return [String]
248
- # currently always 'pageToken'
249
- def page_token_param
250
- return "pageToken"
251
- end
252
-
253
- end
254
- end
255
- end
@@ -1,110 +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 'google/api_client/service/result'
16
- require 'google/api_client/batch'
17
-
18
- module Google
19
- class APIClient
20
- class Service
21
-
22
- ##
23
- # Helper class to contain the result of an individual batched call.
24
- #
25
- class BatchedCallResult < Result
26
- # @return [Fixnum] Index of the call
27
- def call_index
28
- return @base_result.response.call_id.to_i - 1
29
- end
30
- end
31
-
32
- ##
33
- #
34
- #
35
- class BatchRequest
36
- ##
37
- # Creates a new batch request.
38
- # This class shouldn't be instantiated directly, but rather through
39
- # Service.batch.
40
- #
41
- # @param [Array] calls
42
- # List of Google::APIClient::Service::Request to be made.
43
- # @param [Proc] block
44
- # Callback for every call's response. Won't be called if a call
45
- # defined a callback of its own.
46
- #
47
- # @yield [Google::APIClient::Service::Result]
48
- # block to be called when result ready
49
- def initialize(service, calls, &block)
50
- @service = service
51
- @base_batch = Google::APIClient::BatchRequest.new
52
- @global_callback = block if block_given?
53
-
54
- if calls && calls.length > 0
55
- calls.each do |call|
56
- add(call)
57
- end
58
- end
59
- end
60
-
61
- ##
62
- # Add a new call to the batch request.
63
- #
64
- # @param [Google::APIClient::Service::Request] call
65
- # the call to be added.
66
- # @param [Proc] block
67
- # callback for this call's response.
68
- #
69
- # @return [Google::APIClient::Service::BatchRequest]
70
- # the BatchRequest, for chaining
71
- #
72
- # @yield [Google::APIClient::Service::Result]
73
- # block to be called when result ready
74
- def add(call, &block)
75
- if !block_given? && @global_callback.nil?
76
- raise BatchError, 'Request needs a block'
77
- end
78
- callback = block || @global_callback
79
- base_call = {
80
- :api_method => call.method,
81
- :parameters => call.parameters
82
- }
83
- if call.respond_to? :body
84
- if call.body.respond_to? :to_hash
85
- base_call[:body_object] = call.body
86
- else
87
- base_call[:body] = call.body
88
- end
89
- end
90
- @base_batch.add(base_call) do |base_result|
91
- result = Google::APIClient::Service::BatchedCallResult.new(
92
- call, base_result)
93
- callback.call(result)
94
- end
95
- return self
96
- end
97
-
98
- ##
99
- # Executes the batch request.
100
- def execute
101
- @service.execute(self)
102
- end
103
-
104
- attr_reader :base_batch
105
-
106
- end
107
-
108
- end
109
- end
110
- end
@@ -1,144 +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 request.
20
- # This contains a full definition of the request to be made (including
21
- # method name, parameters, body and media). The remote API call can be
22
- # invoked with execute().
23
- class Request
24
- ##
25
- # Build a request.
26
- # This class should not be directly instantiated in user code;
27
- # instantiation is handled by the stub methods created on Service and
28
- # Resource objects.
29
- #
30
- # @param [Google::APIClient::Service] service
31
- # The parent Service instance that will execute the request.
32
- # @param [Google::APIClient::Method] method
33
- # The Method instance that describes the API method invoked by the
34
- # request.
35
- # @param [Hash] parameters
36
- # A Hash of parameter names and values to be sent in the API call.
37
- def initialize(service, method, parameters)
38
- @service = service
39
- @method = method
40
- @parameters = parameters
41
- @body = nil
42
- @media = nil
43
-
44
- metaclass = (class << self; self; end)
45
-
46
- # If applicable, add "body", "body=" and resource-named methods for
47
- # retrieving and setting the HTTP body for this request.
48
- # Examples of setting the body for files.insert in the Drive API:
49
- # request.body = object
50
- # request.execute
51
- # OR
52
- # request.file = object
53
- # request.execute
54
- # OR
55
- # request.body(object).execute
56
- # OR
57
- # request.file(object).execute
58
- # Examples of retrieving the body for files.insert in the Drive API:
59
- # object = request.body
60
- # OR
61
- # object = request.file
62
- if method.request_schema
63
- body_name = method.request_schema.data['id'].dup
64
- body_name[0] = body_name[0].chr.downcase
65
- body_name_equals = (body_name + '=').to_sym
66
- body_name = body_name.to_sym
67
-
68
- metaclass.send(:define_method, :body) do |*args|
69
- if args.length == 1
70
- @body = args.first
71
- return self
72
- elsif args.length == 0
73
- return @body
74
- else
75
- raise ArgumentError,
76
- "wrong number of arguments (#{args.length}; expecting 0 or 1)"
77
- end
78
- end
79
-
80
- metaclass.send(:define_method, :body=) do |body|
81
- @body = body
82
- end
83
-
84
- metaclass.send(:alias_method, body_name, :body)
85
- metaclass.send(:alias_method, body_name_equals, :body=)
86
- end
87
-
88
- # If applicable, add "media" and "media=" for retrieving and setting
89
- # the media object for this request.
90
- # Examples of setting the media object:
91
- # request.media = object
92
- # request.execute
93
- # OR
94
- # request.media(object).execute
95
- # Example of retrieving the media object:
96
- # object = request.media
97
- if method.media_upload
98
- metaclass.send(:define_method, :media) do |*args|
99
- if args.length == 1
100
- @media = args.first
101
- return self
102
- elsif args.length == 0
103
- return @media
104
- else
105
- raise ArgumentError,
106
- "wrong number of arguments (#{args.length}; expecting 0 or 1)"
107
- end
108
- end
109
-
110
- metaclass.send(:define_method, :media=) do |media|
111
- @media = media
112
- end
113
- end
114
- end
115
-
116
- ##
117
- # Returns the parent service capable of executing this request.
118
- #
119
- # @return [Google::APIClient::Service] The parent service.
120
- attr_reader :service
121
-
122
- ##
123
- # Returns the Method instance that describes the API method invoked by
124
- # the request.
125
- #
126
- # @return [Google::APIClient::Method] The API method description.
127
- attr_reader :method
128
-
129
- ##
130
- # Contains the Hash of parameter names and values to be sent as the
131
- # parameters for the API call.
132
- #
133
- # @return [Hash] The request parameters.
134
- attr_accessor :parameters
135
-
136
- ##
137
- # Executes the request.
138
- def execute
139
- @service.execute(self)
140
- end
141
- end
142
- end
143
- end
144
- end
@@ -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