google-api-client 0.8.3 → 0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +52 -2
- data/CONTRIBUTING.md +31 -0
- data/Gemfile +35 -1
- 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 +12 -11
- data/lib/google/api_client/auth/storage.rb +5 -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 -170
- 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 -325
- data/lib/google/api_client/charset.rb +0 -33
- data/lib/google/api_client/discovery/api.rb +0 -300
- 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 -119
- 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 -662
- 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
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
# Copyright 2013 Google Inc.
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
|
|
15
|
-
module Google
|
|
16
|
-
class APIClient
|
|
17
|
-
class Service
|
|
18
|
-
|
|
19
|
-
# Simple file store to be used in the event no ActiveSupport cache store
|
|
20
|
-
# is provided. This is not thread-safe, and does not support a number of
|
|
21
|
-
# features (such as expiration), but it's useful for the simple purpose of
|
|
22
|
-
# caching discovery documents to disk.
|
|
23
|
-
# Implements the basic cache methods of ActiveSupport::Cache::Store in a
|
|
24
|
-
# limited fashion.
|
|
25
|
-
class SimpleFileStore
|
|
26
|
-
|
|
27
|
-
# Creates a new SimpleFileStore.
|
|
28
|
-
#
|
|
29
|
-
# @param [String] file_path
|
|
30
|
-
# The path to the cache file on disk.
|
|
31
|
-
# @param [Object] options
|
|
32
|
-
# The options to be used with this SimpleFileStore. Not implemented.
|
|
33
|
-
def initialize(file_path, options = nil)
|
|
34
|
-
@file_path = file_path.to_s
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
# Returns true if a key exists in the cache.
|
|
38
|
-
#
|
|
39
|
-
# @param [String] name
|
|
40
|
-
# The name of the key. Will always be converted to a string.
|
|
41
|
-
# @param [Object] options
|
|
42
|
-
# The options to be used with this query. Not implemented.
|
|
43
|
-
def exist?(name, options = nil)
|
|
44
|
-
read_file
|
|
45
|
-
@cache.nil? ? nil : @cache.include?(name.to_s)
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
# Fetches data from the cache and returns it, using the given key.
|
|
49
|
-
# If the key is missing and no block is passed, returns nil.
|
|
50
|
-
# If the key is missing and a block is passed, executes the block, sets
|
|
51
|
-
# the key to its value, and returns it.
|
|
52
|
-
#
|
|
53
|
-
# @param [String] name
|
|
54
|
-
# The name of the key. Will always be converted to a string.
|
|
55
|
-
# @param [Object] options
|
|
56
|
-
# The options to be used with this query. Not implemented.
|
|
57
|
-
# @yield [String]
|
|
58
|
-
# optional block with the default value if the key is missing
|
|
59
|
-
def fetch(name, options = nil)
|
|
60
|
-
read_file
|
|
61
|
-
if block_given?
|
|
62
|
-
entry = read(name.to_s, options)
|
|
63
|
-
if entry.nil?
|
|
64
|
-
value = yield name.to_s
|
|
65
|
-
write(name.to_s, value)
|
|
66
|
-
return value
|
|
67
|
-
else
|
|
68
|
-
return entry
|
|
69
|
-
end
|
|
70
|
-
else
|
|
71
|
-
return read(name.to_s, options)
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
# Fetches data from the cache, using the given key.
|
|
76
|
-
# Returns nil if the key is missing.
|
|
77
|
-
#
|
|
78
|
-
# @param [String] name
|
|
79
|
-
# The name of the key. Will always be converted to a string.
|
|
80
|
-
# @param [Object] options
|
|
81
|
-
# The options to be used with this query. Not implemented.
|
|
82
|
-
def read(name, options = nil)
|
|
83
|
-
read_file
|
|
84
|
-
@cache.nil? ? nil : @cache[name.to_s]
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
# Writes the value to the cache, with the key.
|
|
88
|
-
#
|
|
89
|
-
# @param [String] name
|
|
90
|
-
# The name of the key. Will always be converted to a string.
|
|
91
|
-
# @param [Object] value
|
|
92
|
-
# The value to be written.
|
|
93
|
-
# @param [Object] options
|
|
94
|
-
# The options to be used with this query. Not implemented.
|
|
95
|
-
def write(name, value, options = nil)
|
|
96
|
-
read_file
|
|
97
|
-
@cache = {} if @cache.nil?
|
|
98
|
-
@cache[name.to_s] = value
|
|
99
|
-
write_file
|
|
100
|
-
return nil
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
# Deletes an entry in the cache.
|
|
104
|
-
# Returns true if an entry is deleted.
|
|
105
|
-
#
|
|
106
|
-
# @param [String] name
|
|
107
|
-
# The name of the key. Will always be converted to a string.
|
|
108
|
-
# @param [Object] options
|
|
109
|
-
# The options to be used with this query. Not implemented.
|
|
110
|
-
def delete(name, options = nil)
|
|
111
|
-
read_file
|
|
112
|
-
return nil if @cache.nil?
|
|
113
|
-
if @cache.include? name.to_s
|
|
114
|
-
@cache.delete name.to_s
|
|
115
|
-
write_file
|
|
116
|
-
return true
|
|
117
|
-
else
|
|
118
|
-
return nil
|
|
119
|
-
end
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
protected
|
|
123
|
-
|
|
124
|
-
# Read the entire cache file from disk.
|
|
125
|
-
# Will avoid reading if there have been no changes.
|
|
126
|
-
def read_file
|
|
127
|
-
if !File.exists? @file_path
|
|
128
|
-
@cache = nil
|
|
129
|
-
else
|
|
130
|
-
# Check for changes after our last read or write.
|
|
131
|
-
if @last_change.nil? || File.mtime(@file_path) > @last_change
|
|
132
|
-
File.open(@file_path) do |file|
|
|
133
|
-
@cache = Marshal.load(file)
|
|
134
|
-
@last_change = file.mtime
|
|
135
|
-
end
|
|
136
|
-
end
|
|
137
|
-
end
|
|
138
|
-
return @cache
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
# Write the entire cache contents to disk.
|
|
142
|
-
def write_file
|
|
143
|
-
File.open(@file_path, 'w') do |file|
|
|
144
|
-
Marshal.dump(@cache, file)
|
|
145
|
-
end
|
|
146
|
-
@last_change = File.mtime(@file_path)
|
|
147
|
-
end
|
|
148
|
-
end
|
|
149
|
-
end
|
|
150
|
-
end
|
|
151
|
-
end
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# Copyright 2013 Google Inc.
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
|
|
15
|
-
require 'active_support/inflector'
|
|
16
|
-
|
|
17
|
-
module Google
|
|
18
|
-
class APIClient
|
|
19
|
-
class Service
|
|
20
|
-
##
|
|
21
|
-
# Auxiliary mixin to generate resource and method stubs.
|
|
22
|
-
# Used by the Service and Service::Resource classes to generate both
|
|
23
|
-
# top-level and nested resources and methods.
|
|
24
|
-
module StubGenerator
|
|
25
|
-
def generate_call_stubs(service, root)
|
|
26
|
-
metaclass = (class << self; self; end)
|
|
27
|
-
|
|
28
|
-
# Handle resources.
|
|
29
|
-
root.discovered_resources.each do |resource|
|
|
30
|
-
method_name = ActiveSupport::Inflector.underscore(resource.name).to_sym
|
|
31
|
-
if !self.respond_to?(method_name)
|
|
32
|
-
metaclass.send(:define_method, method_name) do
|
|
33
|
-
Google::APIClient::Service::Resource.new(service, resource)
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
# Handle methods.
|
|
39
|
-
root.discovered_methods.each do |method|
|
|
40
|
-
method_name = ActiveSupport::Inflector.underscore(method.name).to_sym
|
|
41
|
-
if !self.respond_to?(method_name)
|
|
42
|
-
metaclass.send(:define_method, method_name) do |*args|
|
|
43
|
-
if args.length > 1
|
|
44
|
-
raise ArgumentError,
|
|
45
|
-
"wrong number of arguments (#{args.length} for 1)"
|
|
46
|
-
elsif !args.first.respond_to?(:to_hash) && !args.first.nil?
|
|
47
|
-
raise ArgumentError,
|
|
48
|
-
"expected parameter Hash, got #{args.first.class}"
|
|
49
|
-
else
|
|
50
|
-
return Google::APIClient::Service::Request.new(
|
|
51
|
-
service, method, args.first
|
|
52
|
-
)
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
end
|
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
# Copyright 2013 Google Inc.
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
|
|
15
|
-
require 'google/api_client'
|
|
16
|
-
require 'google/api_client/service/stub_generator'
|
|
17
|
-
require 'google/api_client/service/resource'
|
|
18
|
-
require 'google/api_client/service/request'
|
|
19
|
-
require 'google/api_client/service/result'
|
|
20
|
-
require 'google/api_client/service/batch'
|
|
21
|
-
require 'google/api_client/service/simple_file_store'
|
|
22
|
-
|
|
23
|
-
module Google
|
|
24
|
-
class APIClient
|
|
25
|
-
|
|
26
|
-
##
|
|
27
|
-
# Experimental new programming interface at the API level.
|
|
28
|
-
# Hides Google::APIClient. Designed to be easier to use, with less code.
|
|
29
|
-
#
|
|
30
|
-
# @example
|
|
31
|
-
# calendar = Google::APIClient::Service.new('calendar', 'v3')
|
|
32
|
-
# result = calendar.events.list('calendarId' => 'primary').execute()
|
|
33
|
-
class Service
|
|
34
|
-
include Google::APIClient::Service::StubGenerator
|
|
35
|
-
extend Forwardable
|
|
36
|
-
|
|
37
|
-
DEFAULT_CACHE_FILE = 'discovery.cache'
|
|
38
|
-
|
|
39
|
-
# Cache for discovered APIs.
|
|
40
|
-
@@discovered = {}
|
|
41
|
-
|
|
42
|
-
##
|
|
43
|
-
# Creates a new Service.
|
|
44
|
-
#
|
|
45
|
-
# @param [String, Symbol] api_name
|
|
46
|
-
# The name of the API this service will access.
|
|
47
|
-
# @param [String, Symbol] api_version
|
|
48
|
-
# The version of the API this service will access.
|
|
49
|
-
# @param [Hash] options
|
|
50
|
-
# The configuration parameters for the service.
|
|
51
|
-
# @option options [Symbol, #generate_authenticated_request] :authorization
|
|
52
|
-
# (:oauth_1)
|
|
53
|
-
# The authorization mechanism used by the client. The following
|
|
54
|
-
# mechanisms are supported out-of-the-box:
|
|
55
|
-
# <ul>
|
|
56
|
-
# <li><code>:two_legged_oauth_1</code></li>
|
|
57
|
-
# <li><code>:oauth_1</code></li>
|
|
58
|
-
# <li><code>:oauth_2</code></li>
|
|
59
|
-
# </ul>
|
|
60
|
-
# @option options [Boolean] :auto_refresh_token (true)
|
|
61
|
-
# The setting that controls whether or not the api client attempts to
|
|
62
|
-
# refresh authorization when a 401 is hit in #execute. If the token does
|
|
63
|
-
# not support it, this option is ignored.
|
|
64
|
-
# @option options [String] :application_name
|
|
65
|
-
# The name of the application using the client.
|
|
66
|
-
# @option options [String] :application_version
|
|
67
|
-
# The version number of the application using the client.
|
|
68
|
-
# @option options [String] :host ("www.googleapis.com")
|
|
69
|
-
# The API hostname used by the client. This rarely needs to be changed.
|
|
70
|
-
# @option options [String] :port (443)
|
|
71
|
-
# The port number used by the client. This rarely needs to be changed.
|
|
72
|
-
# @option options [String] :discovery_path ("/discovery/v1")
|
|
73
|
-
# The discovery base path. This rarely needs to be changed.
|
|
74
|
-
# @option options [String] :ca_file
|
|
75
|
-
# Optional set of root certificates to use when validating SSL connections.
|
|
76
|
-
# By default, a bundled set of trusted roots will be used.
|
|
77
|
-
# @option options [#generate_authenticated_request] :authorization
|
|
78
|
-
# The authorization mechanism for requests. Used only if
|
|
79
|
-
# `:authenticated` is `true`.
|
|
80
|
-
# @option options [TrueClass, FalseClass] :authenticated (default: true)
|
|
81
|
-
# `true` if requests must be signed or somehow
|
|
82
|
-
# authenticated, `false` otherwise.
|
|
83
|
-
# @option options [TrueClass, FalseClass] :gzip (default: true)
|
|
84
|
-
# `true` if gzip enabled, `false` otherwise.
|
|
85
|
-
# @option options [Faraday::Connection] :connection
|
|
86
|
-
# A custom connection to be used for all requests.
|
|
87
|
-
# @option options [ActiveSupport::Cache::Store, :default] :discovery_cache
|
|
88
|
-
# A cache store to place the discovery documents for loaded APIs.
|
|
89
|
-
# Avoids unnecessary roundtrips to the discovery service.
|
|
90
|
-
# :default loads the default local file cache store.
|
|
91
|
-
def initialize(api_name, api_version, options = {})
|
|
92
|
-
@api_name = api_name.to_s
|
|
93
|
-
if api_version.nil?
|
|
94
|
-
raise ArgumentError,
|
|
95
|
-
"API version must be set"
|
|
96
|
-
end
|
|
97
|
-
@api_version = api_version.to_s
|
|
98
|
-
if options && !options.respond_to?(:to_hash)
|
|
99
|
-
raise ArgumentError,
|
|
100
|
-
"expected options Hash, got #{options.class}"
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
params = {}
|
|
104
|
-
[:application_name, :application_version, :authorization, :host, :port,
|
|
105
|
-
:discovery_path, :auto_refresh_token, :key, :user_ip,
|
|
106
|
-
:ca_file].each do |option|
|
|
107
|
-
if options.include? option
|
|
108
|
-
params[option] = options[option]
|
|
109
|
-
end
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
@client = Google::APIClient.new(params)
|
|
113
|
-
|
|
114
|
-
@connection = options[:connection] || @client.connection
|
|
115
|
-
|
|
116
|
-
@options = options
|
|
117
|
-
|
|
118
|
-
# Initialize cache store. Default to SimpleFileStore if :cache_store
|
|
119
|
-
# is not provided and we have write permissions.
|
|
120
|
-
if options.include? :cache_store
|
|
121
|
-
@cache_store = options[:cache_store]
|
|
122
|
-
else
|
|
123
|
-
cache_exists = File.exists?(DEFAULT_CACHE_FILE)
|
|
124
|
-
if (cache_exists && File.writable?(DEFAULT_CACHE_FILE)) ||
|
|
125
|
-
(!cache_exists && File.writable?(Dir.pwd))
|
|
126
|
-
@cache_store = Google::APIClient::Service::SimpleFileStore.new(
|
|
127
|
-
DEFAULT_CACHE_FILE)
|
|
128
|
-
end
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
# Attempt to read API definition from memory cache.
|
|
132
|
-
# Not thread-safe, but the worst that can happen is a cache miss.
|
|
133
|
-
unless @api = @@discovered[[api_name, api_version]]
|
|
134
|
-
# Attempt to read API definition from cache store, if there is one.
|
|
135
|
-
# If there's a miss or no cache store, call discovery service.
|
|
136
|
-
if !@cache_store.nil?
|
|
137
|
-
@api = @cache_store.fetch("%s/%s" % [api_name, api_version]) do
|
|
138
|
-
@client.discovered_api(api_name, api_version)
|
|
139
|
-
end
|
|
140
|
-
else
|
|
141
|
-
@api = @client.discovered_api(api_name, api_version)
|
|
142
|
-
end
|
|
143
|
-
@@discovered[[api_name, api_version]] = @api
|
|
144
|
-
end
|
|
145
|
-
|
|
146
|
-
generate_call_stubs(self, @api)
|
|
147
|
-
end
|
|
148
|
-
|
|
149
|
-
##
|
|
150
|
-
# Returns the authorization mechanism used by the service.
|
|
151
|
-
#
|
|
152
|
-
# @return [#generate_authenticated_request] The authorization mechanism.
|
|
153
|
-
def_delegators :@client, :authorization, :authorization=
|
|
154
|
-
|
|
155
|
-
##
|
|
156
|
-
# The setting that controls whether or not the service attempts to
|
|
157
|
-
# refresh authorization when a 401 is hit during an API call.
|
|
158
|
-
#
|
|
159
|
-
# @return [Boolean]
|
|
160
|
-
def_delegators :@client, :auto_refresh_token, :auto_refresh_token=
|
|
161
|
-
|
|
162
|
-
##
|
|
163
|
-
# The application's API key issued by the API console.
|
|
164
|
-
#
|
|
165
|
-
# @return [String] The API key.
|
|
166
|
-
def_delegators :@client, :key, :key=
|
|
167
|
-
|
|
168
|
-
##
|
|
169
|
-
# The Faraday/HTTP connection used by this service.
|
|
170
|
-
#
|
|
171
|
-
# @return [Faraday::Connection]
|
|
172
|
-
attr_accessor :connection
|
|
173
|
-
|
|
174
|
-
##
|
|
175
|
-
# The cache store used for storing discovery documents.
|
|
176
|
-
#
|
|
177
|
-
# @return [ActiveSupport::Cache::Store,
|
|
178
|
-
# Google::APIClient::Service::SimpleFileStore,
|
|
179
|
-
# nil]
|
|
180
|
-
attr_reader :cache_store
|
|
181
|
-
|
|
182
|
-
##
|
|
183
|
-
# Prepares a Google::APIClient::BatchRequest object to make batched calls.
|
|
184
|
-
# @param [Array] calls
|
|
185
|
-
# Optional array of Google::APIClient::Service::Request to initialize
|
|
186
|
-
# the batch request with.
|
|
187
|
-
# @param [Proc] block
|
|
188
|
-
# Callback for every call's response. Won't be called if a call defined
|
|
189
|
-
# a callback of its own.
|
|
190
|
-
#
|
|
191
|
-
# @yield [Google::APIClient::Service::Result]
|
|
192
|
-
# block to be called when result ready
|
|
193
|
-
def batch(calls = nil, &block)
|
|
194
|
-
Google::APIClient::Service::BatchRequest.new(self, calls, &block)
|
|
195
|
-
end
|
|
196
|
-
|
|
197
|
-
##
|
|
198
|
-
# Executes an API request.
|
|
199
|
-
# Do not call directly; this method is only used by Request objects when
|
|
200
|
-
# executing.
|
|
201
|
-
#
|
|
202
|
-
# @param [Google::APIClient::Service::Request,
|
|
203
|
-
# Google::APIClient::Service::BatchCall] request
|
|
204
|
-
# The request to be executed.
|
|
205
|
-
def execute(request)
|
|
206
|
-
if request.instance_of? Google::APIClient::Service::Request
|
|
207
|
-
params = {:api_method => request.method,
|
|
208
|
-
:parameters => request.parameters,
|
|
209
|
-
:connection => @connection}
|
|
210
|
-
if request.respond_to? :body
|
|
211
|
-
if request.body.respond_to? :to_hash
|
|
212
|
-
params[:body_object] = request.body
|
|
213
|
-
else
|
|
214
|
-
params[:body] = request.body
|
|
215
|
-
end
|
|
216
|
-
end
|
|
217
|
-
if request.respond_to? :media
|
|
218
|
-
params[:media] = request.media
|
|
219
|
-
end
|
|
220
|
-
[:authenticated, :gzip].each do |option|
|
|
221
|
-
if @options.include? option
|
|
222
|
-
params[option] = @options[option]
|
|
223
|
-
end
|
|
224
|
-
end
|
|
225
|
-
result = @client.execute(params)
|
|
226
|
-
return Google::APIClient::Service::Result.new(request, result)
|
|
227
|
-
elsif request.instance_of? Google::APIClient::Service::BatchRequest
|
|
228
|
-
@client.execute(request.base_batch, {:connection => @connection})
|
|
229
|
-
end
|
|
230
|
-
end
|
|
231
|
-
end
|
|
232
|
-
end
|
|
233
|
-
end
|