google-api-client 0.8.3 → 0.9

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -0,0 +1,74 @@
1
+ module Google
2
+ module Apis
3
+ # @private
4
+ class Generator
5
+ # Methods for validating & normalizing symbols
6
+ module NameHelpers
7
+ KEYWORDS = %w(__ENCODING__ def in self __LINE__ defined? module super __FILE__ do next then BEGIN
8
+ else nil true END elsif not undef alias end or unless and ensure redo until begin
9
+ false rescue when break for retry while case if return yield class command)
10
+ PLURAL_METHODS = %w(list search)
11
+
12
+ # Check to see if the method name should be plauralized
13
+ # @return [Boolean]
14
+ def pluralize_method?(method_name)
15
+ PLURAL_METHODS.include?(method_name)
16
+ end
17
+
18
+ # Check to see if the method is either a keyword or built-in method on object
19
+ # @return [Boolean]
20
+ def reserved?(name)
21
+ keyword?(name) || object_method?(name)
22
+ end
23
+
24
+ # Check to see if the name is a ruby keyword
25
+ # @return [Boolean]
26
+ def keyword?(name)
27
+ KEYWORDS.include?(name)
28
+ end
29
+
30
+ # Check to see if the method already exists on ruby objects
31
+ # @return [Boolean]
32
+ def object_method?(name)
33
+ Object.new.respond_to?(name)
34
+ end
35
+
36
+ # Convert a parameter name to ruby conventions
37
+ # @param [String] name
38
+ # @return [String] updated param name
39
+ def normalize_param_name(name)
40
+ name = ActiveSupport::Inflector.underscore(name.gsub(/\W/, '_'))
41
+ if reserved?(name)
42
+ logger.warn { sprintf('Found reserved keyword \'%1$s\'', name) }
43
+ name += '_'
44
+ logger.warn { sprintf('Changed to \'%1$s\'', name) }
45
+ end
46
+ name
47
+ end
48
+
49
+ # Convert a property name to ruby conventions
50
+ # @param [String] name
51
+ # @return [String]
52
+ def normalize_property_name(name)
53
+ name = ActiveSupport::Inflector.underscore(name.gsub(/\W/, '_'))
54
+ if object_method?(name)
55
+ logger.warn { sprintf('Found reserved property \'%1$s\'', name) }
56
+ name += '_prop'
57
+ logger.warn { sprintf('Changed to \'%1$s\'', name) }
58
+ end
59
+ name
60
+ end
61
+
62
+ # Converts a scope string into a ruby constant
63
+ # @param [String] url
64
+ # Url to convert
65
+ # @return [String]
66
+ def constantize_scope(url)
67
+ scope = Addressable::URI.parse(url).path[1..-1].upcase.gsub(/\W/, '_')
68
+ scope = 'AUTH_SCOPE' if scope.nil? || scope.empty?
69
+ scope
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,143 @@
1
+ # Copyright 2015 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
+ require 'google/apis/discovery_v1'
17
+
18
+ # Extend the discovery API classes with additional data needed to make
19
+ # code generation produce better results
20
+ module Google
21
+ module Apis
22
+ module DiscoveryV1
23
+ TYPE_MAP = {
24
+ 'string' => 'String',
25
+ 'boolean' => 'Boolean',
26
+ 'number' => 'Float',
27
+ 'integer' => 'Fixnum',
28
+ 'any' => 'Object'
29
+ }
30
+
31
+ class JsonSchema
32
+ attr_accessor :name
33
+ attr_accessor :generated_name
34
+ attr_accessor :generated_class_name
35
+ attr_accessor :base_ref
36
+ attr_accessor :parent
37
+ attr_accessor :discriminant
38
+ attr_accessor :discriminant_value
39
+ attr_accessor :path
40
+
41
+ def properties
42
+ @properties ||= {}
43
+ end
44
+
45
+ def qualified_name
46
+ parent.qualified_name + '::' + generated_class_name
47
+ end
48
+
49
+ def generated_type
50
+ case type
51
+ when 'string', 'boolean', 'number', 'integer', 'any'
52
+ return 'DateTime' if format == 'date-time'
53
+ return 'Date' if format == 'date'
54
+ return TYPE_MAP[type]
55
+ when 'array'
56
+ return sprintf('Array<%s>', items.generated_type)
57
+ when 'hash'
58
+ return sprintf('Hash<String,%s>', additional_properties.generated_type)
59
+ when 'object'
60
+ return qualified_name
61
+ end
62
+ end
63
+ end
64
+
65
+ class RestMethod
66
+ attr_accessor :generated_name
67
+ attr_accessor :parent
68
+
69
+ def path_parameters
70
+ return [] if parameter_order.nil? || parameters.nil?
71
+ parameter_order.map { |name| parameters[name] }.select { |param| param.location == 'path' }
72
+ end
73
+
74
+ def query_parameters
75
+ return [] if parameters.nil?
76
+ parameters.values.select { |param| param.location == 'query' }
77
+ end
78
+
79
+ def required_parameters
80
+ return [] if parameter_order.nil? || parameters.nil?
81
+ parameter_order.map { |name| parameters[name] }.select { |param| param.location == 'path' || param.required }
82
+ end
83
+
84
+ def optional_query_parameters
85
+ query_parameters.select { |param| param.required != true }
86
+ end
87
+
88
+ end
89
+
90
+ class RestResource
91
+ attr_accessor :parent
92
+
93
+ def all_methods
94
+ m = []
95
+ m << api_methods.values unless api_methods.nil?
96
+ m << resources.map { |_k, r| r.all_methods } unless resources.nil?
97
+ m.flatten
98
+ end
99
+ end
100
+
101
+ class RestDescription
102
+ attr_accessor :force_alt_json
103
+ alias_method :force_alt_json?, :force_alt_json
104
+
105
+ def version
106
+ ActiveSupport::Inflector.camelize(@version.gsub(/\W/, '-')).gsub(/-/, '_')
107
+ end
108
+
109
+ def name
110
+ ActiveSupport::Inflector.camelize(@name)
111
+ end
112
+
113
+ def module_name
114
+ name + version
115
+ end
116
+
117
+ def qualified_name
118
+ sprintf('Google::Apis::%s', module_name)
119
+ end
120
+
121
+ def service_name
122
+ class_name = (canonical_name || name).gsub(/\W/, '')
123
+ ActiveSupport::Inflector.camelize(sprintf('%sService', class_name))
124
+ end
125
+
126
+ def all_methods
127
+ m = []
128
+ m << api_methods.values unless api_methods.nil?
129
+ m << resources.map { |_k, r| r.all_methods } unless resources.nil?
130
+ m.flatten
131
+ end
132
+
133
+ class Auth
134
+ class Oauth2
135
+ class Scope
136
+ attr_accessor :constant
137
+ end
138
+ end
139
+ end
140
+ end
141
+ end
142
+ end
143
+ end
@@ -0,0 +1,124 @@
1
+ # Copyright 2015 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
+ require 'erb'
17
+ require 'ostruct'
18
+
19
+ module Google
20
+ module Apis
21
+ # @private
22
+ class Generator
23
+ # Directory containing ERB templates
24
+ TEMPLATE_DIR = File.expand_path('../templates', __FILE__)
25
+
26
+ # Helpers used in ERB templates
27
+ module TemplateHelpers
28
+ # Get the include path for a ruby module/class
29
+ #
30
+ # @param [String] module_name
31
+ # Fully qualified module/class name
32
+ # @return [String]
33
+ # Path to file
34
+ def to_path(module_name)
35
+ ActiveSupport::Inflector.underscore(module_name)
36
+ end
37
+
38
+ # Render a block comment
39
+ #
40
+ # @param [String] str
41
+ # Comment string
42
+ # @param [Fixnum] spaces_before
43
+ # Number of spaces to indent the comment hash
44
+ # @param [Fixnum] spaces_after
45
+ # Number of spaces to indent after the comment hash for subsequent lines
46
+ # @return [String] formatted comment
47
+ def block_comment(str, spaces_before = 0, spaces_after = 0)
48
+ return '' if str.nil?
49
+ pre = ' ' * spaces_before
50
+ post = ' ' * spaces_after
51
+ lines = str.gsub(/([{}])/, '`').scan(/.{1,78}(?:\W|$)/).map(&:strip)
52
+ lines.join("\n" + pre + '#' + post)
53
+ end
54
+
55
+ # Indent a block of text
56
+ #
57
+ # @param [String] str
58
+ # Content to indent
59
+ # @param [Fixnum] spaces
60
+ # Number of spaces to indent
61
+ # @return [String] formatted content
62
+ def indent(str, spaces)
63
+ pre = ' ' * spaces
64
+ str = pre + str.split(/\n/).join("\n" + pre) + "\n"
65
+ return str unless str.strip.empty?
66
+ nil
67
+ end
68
+
69
+ # Include a partial inside a template.
70
+ #
71
+ # @private
72
+ # @param [String] partial
73
+ # Name of the template
74
+ # @param [Hash] context
75
+ # Context used to render
76
+ # @return [String] rendered content
77
+ def include(partial, context)
78
+ template = Template.new(sprintf('_%s.tmpl', partial))
79
+ template.render(context)
80
+ end
81
+ end
82
+
83
+ # Holds local vars/helpers for template rendering
84
+ class Context < OpenStruct
85
+ include TemplateHelpers
86
+
87
+ # Get the context for ERB evaluation
88
+ # @return [Binding]
89
+ def to_binding
90
+ binding
91
+ end
92
+ end
93
+
94
+ # ERB template for the code generator
95
+ class Template
96
+ # Loads a template from the template dir. Automatically
97
+ # appends the .tmpl suffix
98
+ #
99
+ # @param [String] template_name
100
+ # Name of the template file
101
+ def self.load(template_name)
102
+ Template.new(sprintf('%s.tmpl', template_name))
103
+ end
104
+
105
+ # @param [String] template_name
106
+ # Name of the template file
107
+ def initialize(template_name)
108
+ file = File.join(TEMPLATE_DIR, template_name)
109
+ @erb = ERB.new(File.read(file), nil, '-')
110
+ end
111
+
112
+ # Render the template
113
+ #
114
+ # @param [Hash] context
115
+ # Variables to set when rendering the template
116
+ # @return [String] rendered template
117
+ def render(context)
118
+ ctx = Context.new(context)
119
+ @erb.result(ctx.to_binding)
120
+ end
121
+ end
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,40 @@
1
+ <% if cls.type == 'object' -%>
2
+
3
+ # <%= block_comment(cls.description, 0, 1) %>
4
+ class <%= cls.generated_class_name %><% if cls.base_ref %> < <%= cls.base_ref.generated_type %><% end %>
5
+ include Google::Apis::Core::Hashable
6
+ <% for property in cls.properties.values -%>
7
+
8
+ # <%= block_comment(property.description, 2, 1) %>
9
+ # Corresponds to the JSON property `<%= property.name %>`
10
+ # @return [<%= property.generated_type %>]
11
+ attr_accessor :<%= property.generated_name %>
12
+ <% if property.type == 'boolean' -%>
13
+ alias_method :<%= property.generated_name %>?, :<%= property.generated_name %>
14
+ <% end -%>
15
+ <% end -%>
16
+
17
+ def initialize(**args)
18
+ <% if cls.discriminant -%>
19
+ @<%= cls.properties[cls.discriminant].generated_name %> = '<%= cls.discriminant_value %>'
20
+ <% end -%>
21
+ update!(**args)
22
+ end
23
+
24
+ # Update properties of this object
25
+ def update!(**args)
26
+ <% for property in cls.properties.values -%>
27
+ @<%= property.generated_name %> = args[:<%= property.generated_name %>] unless args[:<%= property.generated_name %>].nil?
28
+ <% end -%>
29
+ end
30
+ <% for child_class in cls.properties.values -%>
31
+ <% if child_class._ref.nil? -%>
32
+ <%= indent(include('class', :cls => child_class, :api => api), 2) -%>
33
+ <% end -%>
34
+ <% end -%>
35
+ end
36
+ <% elsif cls.items && cls.items._ref.nil? -%>
37
+ <%= include('class', :cls => cls.items, :api => api) -%>
38
+ <% elsif cls.additional_properties && cls.additional_properties._ref.nil? -%>
39
+ <%= include('class', :cls => cls.additional_properties, :api => api) -%>
40
+ <% end -%>
@@ -0,0 +1,92 @@
1
+
2
+ # <%= block_comment(api_method.description, 0, 1) %>
3
+ <% for param in api_method.required_parameters -%>
4
+ # @param [<% if param.repeated? %>Array<<%= param.generated_type %>>, <% end %><%= param.generated_type %>] <%= param.generated_name %>
5
+ <% if param.description -%>
6
+ # <%= block_comment(param.description, 0, 3) %>
7
+ <% end -%>
8
+ <% end -%>
9
+ <% if api_method.request -%>
10
+ # @param [<%= api.schemas[api_method.request._ref].generated_type %>] <%= api.schemas[api_method.request._ref].generated_name %>_object
11
+ <% end -%>
12
+ <% for param in api_method.optional_query_parameters -%>
13
+ # @param [<% if param.repeated? %>Array<<%= param.generated_type %>>, <% end %><%= param.generated_type %>] <%= param.generated_name %>
14
+ <% if param.description -%>
15
+ # <%= block_comment(param.description, 0, 3) %>
16
+ <% end -%>
17
+ <% end -%>
18
+ <% for param in api.parameters.values.reject {|p| p.name == 'key'} -%>
19
+ # @param [<% if param.repeated? %>Array<<%= param.generated_type %>>, <% end %><%= param.generated_type %>] <%= param.generated_name %>
20
+ <% if param.description -%>
21
+ # <%= block_comment(param.description, 0, 3) %>
22
+ <% end -%>
23
+ <% end -%>
24
+ <% if api_method.supports_media_upload? -%>
25
+ # @param [IO, String] upload_source
26
+ # IO stream or filename containing content to upload
27
+ # @param [String] content_type
28
+ # Content type of the uploaded content.
29
+ <% elsif api_method.supports_media_download? -%>
30
+ # @param [IO, String] download_dest
31
+ # IO stream or filename to receive content download
32
+ <% end -%>
33
+ # @param [Google::Apis::RequestOptions] options
34
+ # Request-specific options
35
+ #
36
+ # @yield [result, err] Result & error if block supplied
37
+ <% if api_method.response -%>
38
+ # @yieldparam result [<%= api.schemas[api_method.response._ref].generated_type %>] parsed result object
39
+ # @yieldparam err [StandardError] error object if request failed
40
+ #
41
+ # @return [<%= api.schemas[api_method.response._ref].generated_type %>]
42
+ <% else -%>
43
+ # @yieldparam result [NilClass] No result returned for this method
44
+ # @yieldparam err [StandardError] error object if request failed
45
+ #
46
+ # @return [void]
47
+ <% end -%>
48
+ #
49
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
50
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
51
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
52
+ def <%= api_method.generated_name %>(<% for param in api_method.required_parameters %><%= param.generated_name %>, <% end %><% if api_method.request %><%= api.schemas[api_method.request._ref].generated_name %>_object = nil, <% end %><% for param in api_method.optional_query_parameters %><%= param.generated_name %>: nil, <% end %><% for param in api.parameters.values.reject {|p| p.name == 'key'} %><%= param.generated_name %>: nil, <% end %><% if api_method.supports_media_upload? %>upload_source: nil, content_type: nil, <% elsif api_method.supports_media_download? %>download_dest: nil, <% end %>options: nil, &block)
53
+ <% if api_method.supports_media_upload? -%>
54
+ if upload_source.nil?
55
+ command = make_simple_command(:<%= api_method.http_method.downcase %>, '<%= api_method.path %>', options)
56
+ else
57
+ command = make_upload_command(:<%= api_method.http_method.downcase %>, '<%= api_method.path %>', options)
58
+ command.upload_source = upload_source
59
+ command.upload_content_type = content_type
60
+ end
61
+ <% elsif api_method.supports_media_download? -%>
62
+ if download_dest.nil?
63
+ command = make_simple_command(:<%= api_method.http_method.downcase %>, '<%= api_method.path %>', options)
64
+ else
65
+ command = make_download_command(:<%= api_method.http_method.downcase %>, '<%= api_method.path %>', options)
66
+ command.download_dest = download_dest
67
+ end
68
+ <% else -%>
69
+ command = make_simple_command(:<%= api_method.http_method.downcase %>, '<%= api_method.path %>', options)
70
+ <% end -%>
71
+ <% if api_method.request -%>
72
+ command.request_representation = <%= api.schemas[api_method.request._ref].generated_type %>::Representation
73
+ command.request_object = <%= api.schemas[api_method.request._ref].generated_name %>_object
74
+ <% end -%>
75
+ <% if api_method.response -%>
76
+ <% if api.force_alt_json? -%>
77
+ command.query['alt'] = 'json'
78
+ <% end -%>
79
+ command.response_representation = <%= api.schemas[api_method.response._ref].generated_type %>::Representation
80
+ command.response_class = <%= api.schemas[api_method.response._ref].generated_type %>
81
+ <% end -%>
82
+ <% for param in api_method.path_parameters -%>
83
+ command.params['<%= param.name %>'] = <%= param.generated_name %> unless <%= param.generated_name %>.nil?
84
+ <% end -%>
85
+ <% for param in api_method.query_parameters -%>
86
+ command.query['<%= param.name %>'] = <%= param.generated_name %> unless <%= param.generated_name %>.nil?
87
+ <% end -%>
88
+ <% for param in api.parameters.values.reject {|p| p.name == 'key'} -%>
89
+ command.query['<%= param.name %>'] = <%= param.generated_name %> unless <%= param.generated_name %>.nil?
90
+ <% end -%>
91
+ execute_or_queue_command(command, &block)
92
+ end
@@ -0,0 +1,51 @@
1
+ <% if cls.type == 'object' -%>
2
+
3
+ class <%= cls.generated_class_name %>
4
+ # @private
5
+ class Representation < Google::Apis::Core::JsonRepresentation
6
+ <% if api.features && api.features.include?('dataWrapper') -%>
7
+ self.representation_wrap = lambda { |args| :data if args[:unwrap] == <%= cls.generated_type %> }
8
+ <% end -%>
9
+ <% if cls.variant -%>
10
+ def from_hash(hash, *args)
11
+ case hash['<%= cls.variant.discriminant %>']
12
+ <% for v in cls.variant.map -%>
13
+ <% ref = api.schemas[v._ref] %>
14
+ when '<%= v.type_value %>'
15
+ <%= ref.generated_type %>::Representation.new(<%= ref.generated_type %>.new).from_hash(hash, *args)
16
+ <% end -%>
17
+ end
18
+ end
19
+
20
+ def to_hash(*args)
21
+ case represented
22
+ <% for v in cls.variant.map -%>
23
+ <% ref = api.schemas[v._ref] %>
24
+ when <%= ref.generated_type %>
25
+ <%= ref.generated_type %>::Representation.new(represented).to_hash(*args)
26
+ <% end -%>
27
+ end
28
+ end
29
+ <% else -%>
30
+ <% for property in cls.properties.values -%>
31
+ <% if property.type == 'hash' -%>
32
+ hash :<%= property.generated_name %>, as: '<%= property.name %>'<%= include('representation_type', :lead => ', ', :type => property.additional_properties, :api => api) %>
33
+ <% elsif property.type == 'array' -%>
34
+ collection :<%= property.generated_name %>, as: '<%= property.name %>'<%= include('representation_type', :lead => ', ', :type => property.items, :api => api) %>
35
+ <% else -%>
36
+ property :<%= property.generated_name %>,<% if property.format == 'byte' %> :base64 => true,<%end%> as: '<%= property.name %>'<%= include('representation_type', :lead => ', ', :type => property, :api => api) %>
37
+ <% end -%>
38
+ <% end -%>
39
+ <% end -%>
40
+ end
41
+ <% for child_class in cls.properties.values -%>
42
+ <% if child_class._ref.nil? -%>
43
+ <%= indent(include('representation', :cls => child_class, :api => api), 2) -%>
44
+ <% end -%>
45
+ <% end -%>
46
+ end
47
+ <% elsif cls.items && cls.items._ref.nil? -%>
48
+ <%= include('representation', :cls => cls.items, :api => api) -%>
49
+ <% elsif cls.additional_properties && cls.additional_properties._ref.nil? -%>
50
+ <%= include('representation', :cls => cls.additional_properties, :api => api) -%>
51
+ <% end -%>
@@ -0,0 +1,15 @@
1
+ <% if cls.type == 'object' -%>
2
+
3
+ class <%= cls.generated_class_name %>
4
+ class Representation < Google::Apis::Core::JsonRepresentation; end
5
+ <% for child_class in cls.properties.values -%>
6
+ <% if child_class._ref.nil? -%>
7
+ <%= indent(include('representation_stub', :cls => child_class), 2) -%>
8
+ <% end -%>
9
+ <% end -%>
10
+ end
11
+ <% elsif cls.items && cls.items._ref.nil? -%>
12
+ <%= include('representation_stub', :cls => cls.items, :api => api) -%>
13
+ <% elsif cls.additional_properties && cls.additional_properties._ref.nil? -%>
14
+ <%= include('representation_stub', :cls => cls.additional_properties, :api => api) -%>
15
+ <% end -%>
@@ -0,0 +1,10 @@
1
+ <% if type.type == 'array' -%>
2
+ <%= lead %>:class => Array do
3
+ include Representable::JSON::Collection
4
+ items<%= include('representation_type', :lead => ' ' , :type => type.items, :api => api) %>
5
+ end
6
+ <% elsif ['date', 'date-time'].include?(type.format) -%>
7
+ <%= lead %>type: <%= type.generated_type %>
8
+ <% elsif type.type == 'object' -%>
9
+ <%= lead %>class: <%= type.generated_type %>, decorator: <%= type.generated_type %>::Representation
10
+ <% end -%>
@@ -1,4 +1,4 @@
1
- # Copyright 2010 Google Inc.
1
+ # Copyright 2015 Google Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -12,16 +12,18 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- require 'google/api_client/request'
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
16
20
 
17
21
  module Google
18
- class APIClient
19
- ##
20
- # Subclass of Request for backwards compatibility with pre-0.5.0 versions of the library
21
- #
22
- # @deprecated
23
- # use {Google::APIClient::Request} instead
24
- class Reference < Request
22
+ module Apis
23
+ module <%= api.module_name %>
24
+ <% for cls in api.schemas.values.partition(&:variant).flatten -%>
25
+ <%= indent(include('class', :cls => cls, :api => api), 6) -%>
26
+ <% end -%>
25
27
  end
26
28
  end
27
29
  end
@@ -0,0 +1,40 @@
1
+ # Copyright 2015 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 '<%= to_path(api.qualified_name) %>/service.rb'
16
+ require '<%= to_path(api.qualified_name) %>/classes.rb'
17
+ require '<%= to_path(api.qualified_name) %>/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # <%= api.title %>
22
+ #
23
+ # <%= block_comment(api.description, 4, 1) %>
24
+ #
25
+ <% if api.documentation_link -%>
26
+ # @see <%= api.documentation_link %>
27
+ <% end -%>
28
+ module <%= api.module_name %>
29
+ VERSION = '<%= api.version %>'
30
+ REVISION = '<%= api.revision %>'
31
+ <% if api.auth && api.auth.oauth2 -%>
32
+ <% for scope_string, scope in api.auth.oauth2.scopes -%>
33
+
34
+ # <%= scope.description %>
35
+ <%= scope.constant %> = '<%= scope_string %>'
36
+ <% end -%>
37
+ <% end -%>
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,32 @@
1
+ # Copyright 2015 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 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module <%= api.module_name %>
24
+ <% for cls in api.schemas.values.partition(&:variant).flatten -%>
25
+ <%= indent(include('representation_stub', :cls => cls), 6) -%>
26
+ <% end -%>
27
+ <% for cls in api.schemas.values.partition(&:variant).flatten -%>
28
+ <%= indent(include('representation', :cls => cls, :api => api), 6) -%>
29
+ <% end -%>
30
+ end
31
+ end
32
+ end