google-api-client 0.8.7 → 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.
- checksums.yaml +4 -4
- data/.gitignore +20 -0
- data/.rspec +2 -0
- data/.rubocop.yml +7 -0
- data/.rubocop_todo.yml +63 -0
- data/.travis.yml +22 -0
- data/.yardopts +12 -0
- data/CHANGELOG.md +40 -4
- data/CONTRIBUTING.md +31 -0
- data/Gemfile +32 -2
- data/MIGRATING.md +171 -0
- data/README.md +181 -148
- data/Rakefile +1 -40
- data/api_names.yaml +1036 -0
- data/api_names_out.yaml +26053 -0
- data/bin/generate-api +95 -0
- data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1335 -0
- data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +446 -0
- data/generated/google/apis/adexchangebuyer_v1_3/service.rb +872 -0
- data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
- data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
- data/generated/google/apis/adexchangeseller_v2_0/representations.rb +309 -0
- data/generated/google/apis/adexchangeseller_v2_0/service.rb +668 -0
- data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
- data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
- data/generated/google/apis/admin_datatransfer_v1/representations.rb +118 -0
- data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
- data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
- data/generated/google/apis/admin_directory_v1/classes.rb +3141 -0
- data/generated/google/apis/admin_directory_v1/representations.rb +1029 -0
- data/generated/google/apis/admin_directory_v1/service.rb +3818 -0
- data/generated/google/apis/admin_directory_v1.rb +113 -0
- data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
- data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
- data/generated/google/apis/admin_reports_v1/service.rb +336 -0
- data/generated/google/apis/admin_reports_v1.rb +38 -0
- data/generated/google/apis/adsense_v1_4/classes.rb +1285 -0
- data/generated/google/apis/adsense_v1_4/representations.rb +494 -0
- data/generated/google/apis/adsense_v1_4/service.rb +1714 -0
- data/generated/google/apis/adsense_v1_4.rb +38 -0
- data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
- data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
- data/generated/google/apis/adsensehost_v4_1/service.rb +1164 -0
- data/generated/google/apis/adsensehost_v4_1.rb +35 -0
- data/generated/google/apis/analytics_v3/classes.rb +5118 -0
- data/generated/google/apis/analytics_v3/representations.rb +1662 -0
- data/generated/google/apis/analytics_v3/service.rb +3568 -0
- data/generated/google/apis/analytics_v3.rb +49 -0
- data/generated/google/apis/androidenterprise_v1/classes.rb +1443 -0
- data/generated/google/apis/androidenterprise_v1/representations.rb +538 -0
- data/generated/google/apis/androidenterprise_v1/service.rb +2602 -0
- data/generated/google/apis/androidenterprise_v1.rb +35 -0
- data/generated/google/apis/androidpublisher_v2/classes.rb +1411 -0
- data/generated/google/apis/androidpublisher_v2/representations.rb +646 -0
- data/generated/google/apis/androidpublisher_v2/service.rb +2338 -0
- data/generated/google/apis/androidpublisher_v2.rb +34 -0
- data/generated/google/apis/appengine_v1beta4/classes.rb +1532 -0
- data/generated/google/apis/appengine_v1beta4/representations.rb +526 -0
- data/generated/google/apis/appengine_v1beta4/service.rb +476 -0
- data/generated/google/apis/appengine_v1beta4.rb +35 -0
- data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
- data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
- data/generated/google/apis/appsactivity_v1/service.rb +128 -0
- data/generated/google/apis/appsactivity_v1.rb +46 -0
- data/generated/google/apis/appstate_v1/classes.rb +154 -0
- data/generated/google/apis/appstate_v1/representations.rb +79 -0
- data/generated/google/apis/appstate_v1/service.rb +260 -0
- data/generated/google/apis/appstate_v1.rb +34 -0
- data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
- data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
- data/generated/google/apis/autoscaler_v1beta2/service.rb +478 -0
- data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
- data/generated/google/apis/bigquery_v2/classes.rb +2471 -0
- data/generated/google/apis/bigquery_v2/representations.rb +816 -0
- data/generated/google/apis/bigquery_v2/service.rb +982 -0
- data/generated/google/apis/bigquery_v2.rb +52 -0
- data/generated/google/apis/blogger_v3/classes.rb +1354 -0
- data/generated/google/apis/blogger_v3/representations.rb +562 -0
- data/generated/google/apis/blogger_v3/service.rb +1587 -0
- data/generated/google/apis/blogger_v3.rb +37 -0
- data/generated/google/apis/books_v1/classes.rb +3956 -0
- data/generated/google/apis/books_v1/representations.rb +1538 -0
- data/generated/google/apis/books_v1/service.rb +2290 -0
- data/generated/google/apis/books_v1.rb +34 -0
- data/generated/google/apis/calendar_v3/classes.rb +1742 -0
- data/generated/google/apis/calendar_v3/representations.rb +567 -0
- data/generated/google/apis/calendar_v3/service.rb +1968 -0
- data/generated/google/apis/calendar_v3.rb +37 -0
- data/generated/google/apis/civicinfo_v2/classes.rb +1127 -0
- data/generated/google/apis/civicinfo_v2/representations.rb +383 -0
- data/generated/google/apis/civicinfo_v2/service.rb +279 -0
- data/{lib/google/api_client/service_account.rb → generated/google/apis/civicinfo_v2.rb} +18 -8
- data/generated/google/apis/classroom_v1/classes.rb +512 -0
- data/generated/google/apis/classroom_v1/representations.rb +217 -0
- data/generated/google/apis/classroom_v1/service.rb +970 -0
- data/generated/google/apis/classroom_v1.rb +49 -0
- data/generated/google/apis/classroom_v1beta1/classes.rb +447 -0
- data/generated/google/apis/classroom_v1beta1/representations.rb +190 -0
- data/generated/google/apis/classroom_v1beta1/service.rb +791 -0
- data/generated/google/apis/classroom_v1beta1.rb +49 -0
- data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
- data/generated/google/apis/cloudbilling_v1/representations.rb +79 -0
- data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
- data/generated/google/apis/cloudbilling_v1.rb +35 -0
- data/generated/google/apis/clouddebugger_v2/classes.rb +1004 -0
- data/generated/google/apis/clouddebugger_v2/representations.rb +410 -0
- data/generated/google/apis/clouddebugger_v2/service.rb +370 -0
- data/generated/google/apis/clouddebugger_v2.rb +41 -0
- data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
- data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
- data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +452 -0
- data/generated/google/apis/cloudmonitoring_v2beta2.rb +37 -0
- data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +437 -0
- data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +188 -0
- data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +623 -0
- data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
- data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
- data/generated/google/apis/cloudtrace_v1/representations.rb +92 -0
- data/generated/google/apis/cloudtrace_v1/service.rb +190 -0
- data/generated/google/apis/cloudtrace_v1.rb +35 -0
- data/generated/google/apis/clouduseraccounts_beta/classes.rb +823 -0
- data/generated/google/apis/clouduseraccounts_beta/representations.rb +313 -0
- data/generated/google/apis/clouduseraccounts_beta/service.rb +854 -0
- data/generated/google/apis/clouduseraccounts_beta.rb +43 -0
- data/generated/google/apis/compute_beta/classes.rb +9128 -0
- data/generated/google/apis/compute_beta/representations.rb +3048 -0
- data/generated/google/apis/compute_beta/service.rb +10154 -0
- data/generated/google/apis/compute_beta.rb +49 -0
- data/generated/google/apis/compute_v1/classes.rb +8681 -0
- data/generated/google/apis/compute_v1/representations.rb +2895 -0
- data/generated/google/apis/compute_v1/service.rb +9252 -0
- data/generated/google/apis/compute_v1.rb +49 -0
- data/generated/google/apis/container_v1/classes.rb +463 -0
- data/generated/google/apis/container_v1/representations.rb +175 -0
- data/generated/google/apis/container_v1/service.rb +367 -0
- data/generated/google/apis/container_v1.rb +35 -0
- data/generated/google/apis/container_v1beta1/classes.rb +466 -0
- data/generated/google/apis/container_v1beta1/representations.rb +177 -0
- data/generated/google/apis/container_v1beta1/service.rb +394 -0
- data/generated/google/apis/container_v1beta1.rb +35 -0
- data/generated/google/apis/content_v2/classes.rb +5986 -0
- data/generated/google/apis/content_v2/representations.rb +2288 -0
- data/generated/google/apis/content_v2/service.rb +2338 -0
- data/generated/google/apis/content_v2.rb +35 -0
- data/generated/google/apis/coordinate_v1/classes.rb +669 -0
- data/generated/google/apis/coordinate_v1/representations.rb +285 -0
- data/generated/google/apis/coordinate_v1/service.rb +678 -0
- data/generated/google/apis/coordinate_v1.rb +37 -0
- data/generated/google/apis/customsearch_v1/classes.rb +771 -0
- data/generated/google/apis/customsearch_v1/representations.rb +276 -0
- data/generated/google/apis/customsearch_v1/service.rb +207 -0
- data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
- data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
- data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
- data/generated/google/apis/datastore_v1beta2/service.rb +294 -0
- data/generated/google/apis/datastore_v1beta2.rb +40 -0
- data/generated/google/apis/deploymentmanager_v2/classes.rb +1091 -0
- data/generated/google/apis/deploymentmanager_v2/representations.rb +422 -0
- data/generated/google/apis/deploymentmanager_v2/service.rb +857 -0
- data/generated/google/apis/deploymentmanager_v2.rb +44 -0
- data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +843 -0
- data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +306 -0
- data/generated/google/apis/deploymentmanager_v2beta2/service.rb +689 -0
- data/generated/google/apis/deploymentmanager_v2beta2.rb +44 -0
- data/generated/google/apis/dfareporting_v2_1/classes.rb +10770 -0
- data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
- data/generated/google/apis/dfareporting_v2_1/service.rb +8585 -0
- data/generated/google/apis/dfareporting_v2_1.rb +37 -0
- data/generated/google/apis/discovery_v1/classes.rb +961 -0
- data/generated/google/apis/discovery_v1/representations.rb +357 -0
- data/generated/google/apis/discovery_v1/service.rb +142 -0
- data/generated/google/apis/discovery_v1.rb +32 -0
- data/generated/google/apis/dns_v1/classes.rb +406 -0
- data/generated/google/apis/dns_v1/representations.rb +151 -0
- data/generated/google/apis/dns_v1/service.rb +454 -0
- data/generated/google/apis/dns_v1.rb +44 -0
- data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +716 -0
- data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +298 -0
- data/generated/google/apis/doubleclickbidmanager_v1/service.rb +341 -0
- data/generated/google/apis/doubleclickbidmanager_v1.rb +31 -0
- data/generated/google/apis/doubleclicksearch_v2/classes.rb +956 -0
- data/generated/google/apis/doubleclicksearch_v2/representations.rb +316 -0
- data/generated/google/apis/doubleclicksearch_v2/service.rb +480 -0
- data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
- data/generated/google/apis/drive_v2/classes.rb +2562 -0
- data/generated/google/apis/drive_v2/representations.rb +795 -0
- data/generated/google/apis/drive_v2/service.rb +2696 -0
- data/generated/google/apis/drive_v2.rb +58 -0
- data/generated/google/apis/drive_v3/classes.rb +1534 -0
- data/generated/google/apis/drive_v3/representations.rb +497 -0
- data/generated/google/apis/drive_v3/service.rb +1541 -0
- data/generated/google/apis/drive_v3.rb +55 -0
- data/generated/google/apis/fitness_v1/classes.rb +885 -0
- data/generated/google/apis/fitness_v1/representations.rb +320 -0
- data/generated/google/apis/fitness_v1/service.rb +675 -0
- data/generated/google/apis/fitness_v1.rb +49 -0
- data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
- data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
- data/generated/google/apis/fusiontables_v2/service.rb +1463 -0
- data/generated/google/apis/fusiontables_v2.rb +37 -0
- data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
- data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
- data/generated/google/apis/games_configuration_v1configuration/service.rb +565 -0
- data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
- data/generated/google/apis/games_management_v1management/classes.rb +524 -0
- data/generated/google/apis/games_management_v1management/representations.rb +231 -0
- data/generated/google/apis/games_management_v1management/service.rb +994 -0
- data/generated/google/apis/games_management_v1management.rb +37 -0
- data/generated/google/apis/games_v1/classes.rb +4617 -0
- data/generated/google/apis/games_v1/representations.rb +1584 -0
- data/generated/google/apis/games_v1/service.rb +2290 -0
- data/generated/google/apis/games_v1.rb +40 -0
- data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
- data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
- data/generated/google/apis/gan_v1beta1/service.rb +682 -0
- data/generated/google/apis/gan_v1beta1.rb +31 -0
- data/generated/google/apis/genomics_v1/classes.rb +2609 -0
- data/generated/google/apis/genomics_v1/representations.rb +909 -0
- data/generated/google/apis/genomics_v1/service.rb +1676 -0
- data/generated/google/apis/genomics_v1.rb +49 -0
- data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
- data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
- data/generated/google/apis/genomics_v1beta2/service.rb +2392 -0
- data/generated/google/apis/genomics_v1beta2.rb +46 -0
- data/generated/google/apis/gmail_v1/classes.rb +794 -0
- data/generated/google/apis/gmail_v1/representations.rb +339 -0
- data/generated/google/apis/gmail_v1/service.rb +1470 -0
- data/generated/google/apis/gmail_v1.rb +52 -0
- data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
- data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
- data/generated/google/apis/groupsmigration_v1/service.rb +110 -0
- data/generated/google/apis/groupsmigration_v1.rb +34 -0
- data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
- data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
- data/generated/google/apis/groupssettings_v1/service.rb +179 -0
- data/generated/google/apis/groupssettings_v1.rb +34 -0
- data/generated/google/apis/identitytoolkit_v3/classes.rb +1466 -0
- data/generated/google/apis/identitytoolkit_v3/representations.rb +509 -0
- data/generated/google/apis/identitytoolkit_v3/service.rb +581 -0
- data/generated/google/apis/identitytoolkit_v3.rb +31 -0
- data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
- data/generated/google/apis/kgsearch_v1/representations.rb +39 -0
- data/generated/google/apis/kgsearch_v1/service.rb +111 -0
- data/{spec/google/api_client/request_spec.rb → generated/google/apis/kgsearch_v1.rb} +16 -13
- data/generated/google/apis/licensing_v1/classes.rb +132 -0
- data/generated/google/apis/licensing_v1/representations.rb +68 -0
- data/generated/google/apis/licensing_v1/service.rb +369 -0
- data/generated/google/apis/licensing_v1.rb +34 -0
- data/generated/google/apis/logging_v1beta3/classes.rb +1079 -0
- data/generated/google/apis/logging_v1beta3/representations.rb +366 -0
- data/generated/google/apis/logging_v1beta3/service.rb +1001 -0
- data/generated/google/apis/logging_v1beta3.rb +47 -0
- data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
- data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
- data/generated/google/apis/manager_v1beta2/service.rb +372 -0
- data/generated/google/apis/manager_v1beta2.rb +53 -0
- data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
- data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
- data/generated/google/apis/mapsengine_v1/service.rb +3388 -0
- data/generated/google/apis/mapsengine_v1.rb +38 -0
- data/generated/google/apis/mirror_v1/classes.rb +1072 -0
- data/generated/google/apis/mirror_v1/representations.rb +350 -0
- data/generated/google/apis/mirror_v1/service.rb +977 -0
- data/generated/google/apis/mirror_v1.rb +37 -0
- data/generated/google/apis/oauth2_v2/classes.rb +245 -0
- data/generated/google/apis/oauth2_v2/representations.rb +94 -0
- data/generated/google/apis/oauth2_v2/service.rb +199 -0
- data/generated/google/apis/oauth2_v2.rb +43 -0
- data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
- data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
- data/generated/google/apis/pagespeedonline_v2/service.rb +119 -0
- data/generated/google/apis/pagespeedonline_v2.rb +32 -0
- data/generated/google/apis/partners_v2/classes.rb +942 -0
- data/generated/google/apis/partners_v2/representations.rb +402 -0
- data/generated/google/apis/partners_v2/service.rb +400 -0
- data/generated/google/apis/partners_v2.rb +32 -0
- data/generated/google/apis/plus_domains_v1/classes.rb +2609 -0
- data/generated/google/apis/plus_domains_v1/representations.rb +987 -0
- data/generated/google/apis/plus_domains_v1/service.rb +904 -0
- data/generated/google/apis/plus_domains_v1.rb +61 -0
- data/generated/google/apis/plus_v1/classes.rb +2094 -0
- data/generated/google/apis/plus_v1/representations.rb +805 -0
- data/generated/google/apis/plus_v1/service.rb +470 -0
- data/generated/google/apis/plus_v1.rb +43 -0
- data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
- data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
- data/generated/google/apis/prediction_v1_6/service.rb +380 -0
- data/generated/google/apis/prediction_v1_6.rb +44 -0
- data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +639 -0
- data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +274 -0
- data/generated/google/apis/proximitybeacon_v1beta1/service.rb +591 -0
- data/generated/google/apis/proximitybeacon_v1beta1.rb +31 -0
- data/generated/google/apis/pubsub_v1/classes.rb +614 -0
- data/generated/google/apis/pubsub_v1/representations.rb +281 -0
- data/generated/google/apis/pubsub_v1/service.rb +774 -0
- data/generated/google/apis/pubsub_v1.rb +37 -0
- data/generated/google/apis/pubsub_v1beta2/classes.rb +620 -0
- data/generated/google/apis/pubsub_v1beta2/representations.rb +282 -0
- data/generated/google/apis/pubsub_v1beta2/service.rb +774 -0
- data/generated/google/apis/pubsub_v1beta2.rb +37 -0
- data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
- data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
- data/generated/google/apis/qpx_express_v1/service.rb +100 -0
- data/generated/google/apis/qpx_express_v1.rb +31 -0
- data/generated/google/apis/replicapool_v1beta2/classes.rb +631 -0
- data/generated/google/apis/replicapool_v1beta2/representations.rb +236 -0
- data/generated/google/apis/replicapool_v1beta2/service.rb +608 -0
- data/generated/google/apis/replicapool_v1beta2.rb +44 -0
- data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +733 -0
- data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +264 -0
- data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +508 -0
- data/generated/google/apis/replicapoolupdater_v1beta1.rb +44 -0
- data/generated/google/apis/reseller_v1/classes.rb +520 -0
- data/generated/google/apis/reseller_v1/representations.rb +200 -0
- data/generated/google/apis/reseller_v1/service.rb +623 -0
- data/generated/google/apis/reseller_v1.rb +37 -0
- data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
- data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
- data/generated/google/apis/resourceviews_v1beta2/service.rb +563 -0
- data/generated/google/apis/resourceviews_v1beta2.rb +50 -0
- data/generated/google/apis/script_v1/classes.rb +259 -0
- data/generated/google/apis/script_v1/representations.rb +106 -0
- data/generated/google/apis/script_v1/service.rb +98 -0
- data/generated/google/apis/script_v1.rb +61 -0
- data/generated/google/apis/site_verification_v1/classes.rb +185 -0
- data/generated/google/apis/site_verification_v1/representations.rb +101 -0
- data/generated/google/apis/site_verification_v1/service.rb +315 -0
- data/generated/google/apis/site_verification_v1.rb +37 -0
- data/generated/google/apis/sqladmin_v1beta4/classes.rb +2001 -0
- data/generated/google/apis/sqladmin_v1beta4/representations.rb +758 -0
- data/generated/google/apis/sqladmin_v1beta4/service.rb +1625 -0
- data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
- data/generated/google/apis/storage_v1/classes.rb +1222 -0
- data/generated/google/apis/storage_v1/representations.rb +445 -0
- data/generated/google/apis/storage_v1/service.rb +1903 -0
- data/generated/google/apis/storage_v1.rb +46 -0
- data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
- data/generated/google/apis/storagetransfer_v1/representations.rb +370 -0
- data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
- data/generated/google/apis/storagetransfer_v1.rb +35 -0
- data/generated/google/apis/tagmanager_v1/classes.rb +1384 -0
- data/generated/google/apis/tagmanager_v1/representations.rb +515 -0
- data/generated/google/apis/tagmanager_v1/service.rb +1817 -0
- data/generated/google/apis/tagmanager_v1.rb +52 -0
- data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
- data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
- data/generated/google/apis/taskqueue_v1beta2/service.rb +408 -0
- data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
- data/generated/google/apis/tasks_v1/classes.rb +296 -0
- data/generated/google/apis/tasks_v1/representations.rb +115 -0
- data/generated/google/apis/tasks_v1/service.rb +643 -0
- data/generated/google/apis/tasks_v1.rb +37 -0
- data/generated/google/apis/translate_v2/classes.rb +168 -0
- data/generated/google/apis/translate_v2/representations.rb +109 -0
- data/generated/google/apis/translate_v2/service.rb +182 -0
- data/generated/google/apis/translate_v2.rb +31 -0
- data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
- data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
- data/generated/google/apis/urlshortener_v1/service.rb +176 -0
- data/generated/google/apis/urlshortener_v1.rb +34 -0
- data/generated/google/apis/webmasters_v3/classes.rb +563 -0
- data/generated/google/apis/webmasters_v3/representations.rb +250 -0
- data/generated/google/apis/webmasters_v3/service.rb +573 -0
- data/generated/google/apis/webmasters_v3.rb +37 -0
- data/generated/google/apis/youtube_analytics_v1/classes.rb +546 -0
- data/generated/google/apis/youtube_analytics_v1/representations.rb +243 -0
- data/generated/google/apis/youtube_analytics_v1/service.rb +562 -0
- data/generated/google/apis/youtube_analytics_v1.rb +46 -0
- data/generated/google/apis/youtube_v3/classes.rb +8136 -0
- data/generated/google/apis/youtube_v3/representations.rb +2838 -0
- data/generated/google/apis/youtube_v3/service.rb +4403 -0
- data/generated/google/apis/youtube_v3.rb +49 -0
- data/generated/google/apis/youtubereporting_v1/classes.rb +258 -0
- data/generated/google/apis/youtubereporting_v1/representations.rb +128 -0
- data/generated/google/apis/youtubereporting_v1/service.rb +364 -0
- data/generated/google/apis/youtubereporting_v1.rb +38 -0
- data/google-api-client.gemspec +27 -39
- data/lib/google/api_client/auth/installed_app.rb +7 -5
- data/lib/google/api_client/auth/key_utils.rb +1 -0
- data/lib/google/api_client/auth/storage.rb +4 -2
- data/lib/google/api_client/auth/storages/file_store.rb +2 -3
- data/lib/google/api_client/auth/storages/redis_store.rb +7 -2
- data/lib/google/api_client/client_secrets.rb +4 -5
- data/lib/google/apis/core/api_command.rb +135 -0
- data/lib/google/apis/core/base_service.rb +317 -0
- data/lib/google/apis/core/batch.rb +239 -0
- data/lib/google/apis/core/download.rb +94 -0
- data/lib/google/apis/core/hashable.rb +44 -0
- data/lib/google/apis/core/http_client_adapter.rb +82 -0
- data/lib/google/apis/core/http_command.rb +312 -0
- data/lib/google/apis/core/json_representation.rb +127 -0
- data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
- data/lib/google/apis/core/multipart.rb +187 -0
- data/lib/google/apis/core/upload.rb +288 -0
- data/lib/google/{api_client → apis}/errors.rb +39 -28
- data/lib/google/apis/generator/annotator.rb +295 -0
- data/lib/google/apis/generator/helpers.rb +74 -0
- data/lib/google/apis/generator/model.rb +143 -0
- data/lib/google/apis/generator/template.rb +124 -0
- data/lib/google/apis/generator/templates/_class.tmpl +40 -0
- data/lib/google/apis/generator/templates/_method.tmpl +92 -0
- data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
- data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
- data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
- data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
- data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
- data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
- data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
- data/lib/google/apis/generator.rb +70 -0
- data/lib/google/apis/options.rb +85 -0
- data/lib/google/apis/version.rb +39 -0
- data/lib/google/apis.rb +48 -0
- data/rakelib/metrics.rake +22 -0
- data/rakelib/rubocop.rake +10 -0
- data/rakelib/spec.rake +11 -0
- data/rakelib/yard.rake +11 -0
- data/samples/Gemfile +7 -0
- data/samples/README.md +51 -0
- data/samples/google-api-samples +32 -0
- data/samples/lib/base_cli.rb +94 -0
- data/samples/lib/samples/analytics.rb +62 -0
- data/samples/lib/samples/calendar.rb +83 -0
- data/samples/lib/samples/drive.rb +82 -0
- data/samples/lib/samples/gmail.rb +50 -0
- data/samples/lib/samples/pubsub.rb +114 -0
- data/samples/lib/samples/translate.rb +44 -0
- data/samples/lib/samples/you_tube.rb +44 -0
- data/script/generate +95 -0
- data/script/package +8 -0
- data/script/release +15 -0
- data/spec/fixtures/files/api_names.yaml +3 -0
- data/spec/fixtures/files/auth_stored_credentials.json +8 -0
- data/spec/fixtures/files/child/.gitignore +0 -0
- data/spec/fixtures/files/client_secrets.json +1 -0
- data/spec/fixtures/files/invalid.json +1 -0
- data/spec/fixtures/files/test.blah +1 -0
- data/spec/fixtures/files/test.txt +1 -0
- data/spec/fixtures/files/test_api.json +440 -0
- data/spec/google/api_client/auth/storage_spec.rb +1 -3
- data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
- data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
- data/spec/google/api_client/client_secrets_spec.rb +38 -1
- data/spec/google/apis/core/api_command_spec.rb +209 -0
- data/spec/google/apis/core/batch_spec.rb +142 -0
- data/spec/google/apis/core/download_spec.rb +103 -0
- data/spec/google/apis/core/hashable_spec.rb +60 -0
- data/spec/google/apis/core/http_command_spec.rb +284 -0
- data/spec/google/apis/core/json_representation_spec.rb +192 -0
- data/spec/google/apis/core/service_spec.rb +247 -0
- data/spec/google/apis/core/upload_spec.rb +300 -0
- data/{lib/google/api_client/discovery.rb → spec/google/apis/generated_spec.rb} +13 -5
- data/spec/google/apis/generator/generator_spec.rb +272 -0
- data/spec/google/apis/logging_spec.rb +45 -0
- data/spec/google/apis/options_spec.rb +40 -0
- data/spec/integration_tests/adsense_spec.rb +29 -0
- data/spec/integration_tests/drive_spec.rb +35 -0
- data/spec/integration_tests/pubsub_spec.rb +48 -0
- data/spec/integration_tests/url_shortener_spec.rb +45 -0
- data/spec/spec_helper/load_path_spec.rb +33 -0
- data/spec/spec_helper.rb +131 -44
- data/third_party/hurley_patches.rb +103 -0
- metadata +533 -175
- data/lib/compat/multi_json.rb +0 -19
- data/lib/google/api_client/auth/file_storage.rb +0 -59
- data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
- data/lib/google/api_client/auth/pkcs12.rb +0 -41
- data/lib/google/api_client/batch.rb +0 -326
- data/lib/google/api_client/charset.rb +0 -33
- data/lib/google/api_client/discovery/api.rb +0 -310
- data/lib/google/api_client/discovery/media.rb +0 -77
- data/lib/google/api_client/discovery/method.rb +0 -363
- data/lib/google/api_client/discovery/resource.rb +0 -156
- data/lib/google/api_client/discovery/schema.rb +0 -117
- data/lib/google/api_client/environment.rb +0 -42
- data/lib/google/api_client/gzip.rb +0 -28
- data/lib/google/api_client/logging.rb +0 -32
- data/lib/google/api_client/media.rb +0 -259
- data/lib/google/api_client/railtie.rb +0 -18
- data/lib/google/api_client/request.rb +0 -350
- data/lib/google/api_client/result.rb +0 -255
- data/lib/google/api_client/service/batch.rb +0 -110
- data/lib/google/api_client/service/request.rb +0 -144
- data/lib/google/api_client/service/resource.rb +0 -40
- data/lib/google/api_client/service/result.rb +0 -162
- data/lib/google/api_client/service/simple_file_store.rb +0 -151
- data/lib/google/api_client/service/stub_generator.rb +0 -61
- data/lib/google/api_client/service.rb +0 -233
- data/lib/google/api_client.rb +0 -750
- data/spec/google/api_client/batch_spec.rb +0 -248
- data/spec/google/api_client/discovery_spec.rb +0 -708
- data/spec/google/api_client/gzip_spec.rb +0 -98
- data/spec/google/api_client/media_spec.rb +0 -178
- data/spec/google/api_client/result_spec.rb +0 -207
- data/spec/google/api_client/service_account_spec.rb +0 -169
- data/spec/google/api_client/service_spec.rb +0 -618
- data/spec/google/api_client/simple_file_store_spec.rb +0 -133
- data/spec/google/api_client_spec.rb +0 -352
|
@@ -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
|
|
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 '
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
|
@@ -0,0 +1,60 @@
|
|
|
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 'google/apis/core/base_service'
|
|
16
|
+
require 'google/apis/core/json_representation'
|
|
17
|
+
require 'google/apis/core/hashable'
|
|
18
|
+
require 'google/apis/errors'
|
|
19
|
+
|
|
20
|
+
module Google
|
|
21
|
+
module Apis
|
|
22
|
+
module <%= api.module_name %>
|
|
23
|
+
# <%= api.title %>
|
|
24
|
+
#
|
|
25
|
+
# <%= block_comment(api.description, 6, 2) %>
|
|
26
|
+
#
|
|
27
|
+
# @example
|
|
28
|
+
# require '<%= to_path(api.qualified_name) %>'
|
|
29
|
+
#
|
|
30
|
+
# <%= api.name %> = <%= api.qualified_name %> # Alias the module
|
|
31
|
+
# service = <%= api.name %>::<%= api.service_name %>.new
|
|
32
|
+
#
|
|
33
|
+
<% if api.documentation_link -%>
|
|
34
|
+
# @see <%= api.documentation_link %>
|
|
35
|
+
<% end -%>
|
|
36
|
+
class <%= api.service_name %> < Google::Apis::Core::BaseService
|
|
37
|
+
<% for param in api.parameters.values.reject {|p| p.name == 'fields'} -%>
|
|
38
|
+
# @return [<%= param.generated_type %>]
|
|
39
|
+
# <%= block_comment(param.description, 8, 2) %>
|
|
40
|
+
attr_accessor :<%= param.generated_name %>
|
|
41
|
+
|
|
42
|
+
<% end -%>
|
|
43
|
+
def initialize
|
|
44
|
+
super('<%= api.root_url %>', '<%= api.service_path %>')
|
|
45
|
+
end
|
|
46
|
+
<% for api_method in api.all_methods -%>
|
|
47
|
+
<%= indent(include('method', :api_method => api_method, :api => api), 8) -%>
|
|
48
|
+
<% end -%>
|
|
49
|
+
|
|
50
|
+
protected
|
|
51
|
+
|
|
52
|
+
def apply_command_defaults(command)
|
|
53
|
+
<% for param in api.parameters.values.reject {|p| p.name == 'fields'} -%>
|
|
54
|
+
command.query['<%= param.name %>'] = <%= param.generated_name %> unless <%= param.generated_name %>.nil?
|
|
55
|
+
<% end -%>
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
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 'google/apis/discovery_v1'
|
|
16
|
+
require 'google/apis/generator/annotator'
|
|
17
|
+
require 'google/apis/generator/model'
|
|
18
|
+
require 'google/apis/generator/template'
|
|
19
|
+
require 'active_support/inflector'
|
|
20
|
+
require 'yaml'
|
|
21
|
+
|
|
22
|
+
module Google
|
|
23
|
+
module Apis
|
|
24
|
+
# Generates ruby classes for APIs from discovery documents
|
|
25
|
+
# @private
|
|
26
|
+
class Generator
|
|
27
|
+
Discovery = Google::Apis::DiscoveryV1
|
|
28
|
+
|
|
29
|
+
# Load templates
|
|
30
|
+
def initialize(api_names: nil)
|
|
31
|
+
@names = Google::Apis::Generator::Names.new(api_names || File.join(Google::Apis::ROOT, 'api_names.yaml'))
|
|
32
|
+
@module_template = Template.load('module.rb')
|
|
33
|
+
@service_template = Template.load('service.rb')
|
|
34
|
+
@classes_template = Template.load('classes.rb')
|
|
35
|
+
@representations_template = Template.load('representations.rb')
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Generates ruby source for an API
|
|
39
|
+
#
|
|
40
|
+
# @param [String] json
|
|
41
|
+
# API Description, as JSON text
|
|
42
|
+
# @return [Hash<String,String>]
|
|
43
|
+
# Hash of generated files keyed by path
|
|
44
|
+
def render(json)
|
|
45
|
+
api = parse_description(json)
|
|
46
|
+
Annotator.process(api, @names)
|
|
47
|
+
base_path = ActiveSupport::Inflector.underscore(api.qualified_name)
|
|
48
|
+
context = {
|
|
49
|
+
'api' => api
|
|
50
|
+
}
|
|
51
|
+
files = {}
|
|
52
|
+
files[base_path + '.rb'] = @module_template.render(context)
|
|
53
|
+
files[File.join(base_path, 'service.rb')] = @service_template.render(context)
|
|
54
|
+
files[File.join(base_path, 'classes.rb')] = @classes_template.render(context)
|
|
55
|
+
files[File.join(base_path, 'representations.rb')] = @representations_template.render(context)
|
|
56
|
+
files
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Dump mapping of API names
|
|
60
|
+
# @return [String] Mapping of paths to ruby names in YAML format
|
|
61
|
+
def dump_api_names
|
|
62
|
+
@names.dump
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def parse_description(json)
|
|
66
|
+
Discovery::RestDescription::Representation.new(Discovery::RestDescription.new).from_json(json)
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,85 @@
|
|
|
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
|
+
module Google
|
|
16
|
+
module Apis
|
|
17
|
+
# General options for API requests
|
|
18
|
+
ClientOptions = Struct.new(
|
|
19
|
+
:application_name,
|
|
20
|
+
:application_version,
|
|
21
|
+
:proxy_url,
|
|
22
|
+
:use_net_http)
|
|
23
|
+
|
|
24
|
+
RequestOptions = Struct.new(
|
|
25
|
+
:authorization,
|
|
26
|
+
:retries,
|
|
27
|
+
:header,
|
|
28
|
+
:timeout_sec,
|
|
29
|
+
:open_timeout_sec)
|
|
30
|
+
|
|
31
|
+
# General client options
|
|
32
|
+
class ClientOptions
|
|
33
|
+
# @!attribute [rw] application_name
|
|
34
|
+
# @return [String] Name of the application, for identification in the User-Agent header
|
|
35
|
+
# @!attribute [rw] application_version
|
|
36
|
+
# @return [String] Version of the application, for identification in the User-Agent header
|
|
37
|
+
# @!attribute [rw] proxy_url
|
|
38
|
+
# @return [String] URL of a proxy server
|
|
39
|
+
|
|
40
|
+
# Get the default options
|
|
41
|
+
# @return [Google::Apis::ClientOptions]
|
|
42
|
+
def self.default
|
|
43
|
+
@options ||= ClientOptions.new
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Request options
|
|
48
|
+
class RequestOptions
|
|
49
|
+
# @!attribute [rw] authorization
|
|
50
|
+
# @return [Signet::OAuth2::Client, #apply(Hash)] OAuth2 credentials
|
|
51
|
+
# @!attribute [rw] retries
|
|
52
|
+
# @return [Fixnum] Number of times to retry requests on server error
|
|
53
|
+
# @!attribute [rw] timeout_sec
|
|
54
|
+
# @return [Fixnum] How long, in seconds, before requests time out
|
|
55
|
+
# @!attribute [rw] open_timeout_sec
|
|
56
|
+
# @return [Fixnum] How long, in seconds, before failed connections time out
|
|
57
|
+
# @!attribute [rw] header
|
|
58
|
+
# @return [Hash<String,String] Additional HTTP headers to include in requests
|
|
59
|
+
|
|
60
|
+
# Get the default options
|
|
61
|
+
# @return [Google::Apis::RequestOptions]
|
|
62
|
+
def self.default
|
|
63
|
+
@options ||= RequestOptions.new
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def merge(options)
|
|
67
|
+
return self if options.nil?
|
|
68
|
+
|
|
69
|
+
new_options = dup
|
|
70
|
+
members.each do |opt|
|
|
71
|
+
opt = opt.to_sym
|
|
72
|
+
new_options[opt] = options[opt] unless options[opt].nil?
|
|
73
|
+
end
|
|
74
|
+
new_options
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
ClientOptions.default.use_net_http = false
|
|
79
|
+
ClientOptions.default.application_name = 'unknown'
|
|
80
|
+
ClientOptions.default.application_version = '0.0.0'
|
|
81
|
+
|
|
82
|
+
RequestOptions.default.retries = 0
|
|
83
|
+
RequestOptions.default.open_timeout_sec = 20
|
|
84
|
+
end
|
|
85
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
module Google
|
|
16
|
+
module Apis
|
|
17
|
+
# Client library version
|
|
18
|
+
VERSION = '0.9'
|
|
19
|
+
|
|
20
|
+
# Current operating system
|
|
21
|
+
# @private
|
|
22
|
+
OS_VERSION = begin
|
|
23
|
+
if RUBY_PLATFORM =~ /mswin|win32|mingw|bccwin|cygwin/
|
|
24
|
+
`ver`.sub(/\s*\[Version\s*/, '/').sub(']', '').strip
|
|
25
|
+
elsif RUBY_PLATFORM =~ /darwin/i
|
|
26
|
+
"Mac OS X/#{`sw_vers -productVersion`}"
|
|
27
|
+
elsif RUBY_PLATFORM == 'java'
|
|
28
|
+
require 'java'
|
|
29
|
+
name = java.lang.System.getProperty('os.name')
|
|
30
|
+
version = java.lang.System.getProperty('os.version')
|
|
31
|
+
"#{name}/#{version}"
|
|
32
|
+
else
|
|
33
|
+
`uname -sr`.sub(' ', '/')
|
|
34
|
+
end
|
|
35
|
+
rescue
|
|
36
|
+
RUBY_PLATFORM
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
data/lib/google/apis.rb
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
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 'google/apis/version'
|
|
16
|
+
require 'logger'
|
|
17
|
+
|
|
18
|
+
module Google
|
|
19
|
+
module Apis
|
|
20
|
+
ROOT = File.expand_path('..', File.dirname(__dir__))
|
|
21
|
+
|
|
22
|
+
# @!attribute [rw] logger
|
|
23
|
+
# @return [Logger] The logger.
|
|
24
|
+
def self.logger
|
|
25
|
+
@logger ||= rails_logger || default_logger
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
class << self
|
|
29
|
+
attr_writer :logger
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
private
|
|
33
|
+
|
|
34
|
+
# Create and configure a logger
|
|
35
|
+
# @return [Logger]
|
|
36
|
+
def self.default_logger
|
|
37
|
+
logger = Logger.new($stdout)
|
|
38
|
+
logger.level = Logger::WARN
|
|
39
|
+
logger
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Check to see if client is being used in a Rails environment and ge the logger if present
|
|
43
|
+
# @return [Logger]
|
|
44
|
+
def self.rails_logger
|
|
45
|
+
::Rails.logger if defined?(::Rails) && ::Rails.respond_to?(:logger) && ::Rails.logger
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
namespace :metrics do
|
|
2
|
+
task :lines do
|
|
3
|
+
lines, codelines, total_lines, total_codelines = 0, 0, 0, 0
|
|
4
|
+
for file_name in FileList['lib/**/*.rb', 'bin/generate-api']
|
|
5
|
+
f = File.open(file_name)
|
|
6
|
+
while line = f.gets
|
|
7
|
+
lines += 1
|
|
8
|
+
next if line =~ /^\s*$/
|
|
9
|
+
next if line =~ /^\s*#/
|
|
10
|
+
codelines += 1
|
|
11
|
+
end
|
|
12
|
+
puts "L: #{sprintf('%4d', lines)}, " +
|
|
13
|
+
"LOC #{sprintf('%4d', codelines)} | #{file_name}"
|
|
14
|
+
total_lines += lines
|
|
15
|
+
total_codelines += codelines
|
|
16
|
+
|
|
17
|
+
lines, codelines = 0, 0
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
puts "Total: Lines #{total_lines}, LOC #{total_codelines}"
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
require 'rubocop/rake_task'
|
|
2
|
+
|
|
3
|
+
desc 'Run RuboCop on the lib directory'
|
|
4
|
+
RuboCop::RakeTask.new(:rubocop) do |task|
|
|
5
|
+
task.patterns = ['lib/**/*.rb']
|
|
6
|
+
# only show the files with failures
|
|
7
|
+
task.formatters = ['progress']
|
|
8
|
+
# don't abort rake on failure
|
|
9
|
+
task.fail_on_error = false
|
|
10
|
+
end
|
data/rakelib/spec.rake
ADDED
data/rakelib/yard.rake
ADDED