google-api-client 0.52.0 → 0.53.0
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/.yardopts +0 -14
- data/CHANGELOG.md +6 -0
- data/OVERVIEW.md +36 -27
- data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
- data/generated/google/apis/accesscontextmanager_v1/classes.rb +326 -0
- data/generated/google/apis/accesscontextmanager_v1/representations.rb +139 -0
- data/generated/google/apis/admin_directory_v1.rb +1 -1
- data/generated/google/apis/admin_directory_v1/service.rb +2 -2
- data/generated/google/apis/analyticsadmin_v1alpha.rb +2 -2
- data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +8 -0
- data/generated/google/apis/analyticsadmin_v1alpha/representations.rb +1 -0
- data/generated/google/apis/analyticsadmin_v1alpha/service.rb +12 -1
- data/{lib/google/apis/core/logging.rb → generated/google/apis/apigateway_v1.rb} +14 -10
- data/generated/google/apis/apigateway_v1/classes.rb +1116 -0
- data/generated/google/apis/apigateway_v1/representations.rb +442 -0
- data/generated/google/apis/apigateway_v1/service.rb +1172 -0
- data/generated/google/apis/apigateway_v1beta.rb +1 -1
- data/generated/google/apis/apigateway_v1beta/classes.rb +19 -8
- data/generated/google/apis/apigateway_v1beta/representations.rb +1 -0
- data/generated/google/apis/apigee_v1.rb +1 -1
- data/generated/google/apis/apigee_v1/classes.rb +24 -22
- data/generated/google/apis/apigee_v1/service.rb +50 -48
- data/generated/google/apis/artifactregistry_v1.rb +38 -0
- data/generated/google/apis/artifactregistry_v1/classes.rb +242 -0
- data/generated/google/apis/artifactregistry_v1/representations.rb +116 -0
- data/generated/google/apis/artifactregistry_v1/service.rb +210 -0
- data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
- data/generated/google/apis/artifactregistry_v1beta1/classes.rb +0 -120
- data/generated/google/apis/artifactregistry_v1beta1/representations.rb +0 -62
- data/generated/google/apis/artifactregistry_v1beta2.rb +1 -1
- data/generated/google/apis/artifactregistry_v1beta2/classes.rb +0 -120
- data/generated/google/apis/artifactregistry_v1beta2/representations.rb +0 -62
- data/generated/google/apis/chat_v1.rb +1 -1
- data/generated/google/apis/chat_v1/service.rb +132 -0
- data/generated/google/apis/cloudasset_v1.rb +1 -1
- data/generated/google/apis/cloudasset_v1/classes.rb +326 -0
- data/generated/google/apis/cloudasset_v1/representations.rb +139 -0
- data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
- data/generated/google/apis/cloudasset_v1beta1/classes.rb +326 -0
- data/generated/google/apis/cloudasset_v1beta1/representations.rb +139 -0
- data/generated/google/apis/cloudasset_v1p5beta1.rb +1 -1
- data/generated/google/apis/cloudasset_v1p5beta1/classes.rb +326 -0
- data/generated/google/apis/cloudasset_v1p5beta1/representations.rb +139 -0
- data/generated/google/apis/cloudbuild_v1.rb +1 -1
- data/generated/google/apis/cloudbuild_v1/classes.rb +3 -3
- data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
- data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +3 -3
- data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
- data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +3 -3
- data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
- data/generated/google/apis/cloudidentity_v1beta1/classes.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1/classes.rb +0 -26
- data/generated/google/apis/cloudresourcemanager_v1/representations.rb +0 -24
- data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +0 -26
- data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +0 -24
- data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v2/classes.rb +0 -26
- data/generated/google/apis/cloudresourcemanager_v2/representations.rb +0 -24
- data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +0 -26
- data/generated/google/apis/cloudresourcemanager_v2beta1/representations.rb +0 -24
- data/generated/google/apis/container_v1.rb +1 -1
- data/generated/google/apis/container_v1/classes.rb +7 -7
- data/generated/google/apis/container_v1beta1.rb +1 -1
- data/generated/google/apis/container_v1beta1/classes.rb +7 -7
- data/generated/google/apis/content_v2_1.rb +1 -1
- data/generated/google/apis/content_v2_1/classes.rb +434 -0
- data/generated/google/apis/content_v2_1/representations.rb +187 -0
- data/generated/google/apis/content_v2_1/service.rb +116 -0
- data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
- data/generated/google/apis/datacatalog_v1beta1/classes.rb +6 -0
- data/generated/google/apis/datacatalog_v1beta1/representations.rb +1 -0
- data/generated/google/apis/dataflow_v1b3.rb +1 -1
- data/generated/google/apis/datalabeling_v1beta1.rb +1 -1
- data/generated/google/apis/dataproc_v1.rb +1 -1
- data/generated/google/apis/dataproc_v1/classes.rb +29 -1
- data/generated/google/apis/dataproc_v1/representations.rb +14 -0
- data/generated/google/apis/dataproc_v1/service.rb +42 -0
- data/generated/google/apis/dataproc_v1beta2.rb +1 -1
- data/generated/google/apis/dataproc_v1beta2/classes.rb +29 -1
- data/generated/google/apis/dataproc_v1beta2/representations.rb +14 -0
- data/generated/google/apis/dataproc_v1beta2/service.rb +42 -0
- data/generated/google/apis/dialogflow_v2.rb +1 -1
- data/generated/google/apis/dialogflow_v2/classes.rb +4041 -678
- data/generated/google/apis/dialogflow_v2/representations.rb +1851 -298
- data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
- data/generated/google/apis/dialogflow_v2beta1/classes.rb +4047 -684
- data/generated/google/apis/dialogflow_v2beta1/representations.rb +1862 -309
- data/generated/google/apis/dialogflow_v3.rb +1 -1
- data/generated/google/apis/dialogflow_v3/classes.rb +3120 -311
- data/generated/google/apis/dialogflow_v3/representations.rb +2002 -617
- data/generated/google/apis/dialogflow_v3/service.rb +408 -0
- data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
- data/generated/google/apis/dialogflow_v3beta1/classes.rb +5145 -2336
- data/generated/google/apis/dialogflow_v3beta1/representations.rb +1729 -344
- data/generated/google/apis/dialogflow_v3beta1/service.rb +408 -0
- data/generated/google/apis/dlp_v2.rb +1 -1
- data/generated/google/apis/dlp_v2/service.rb +3 -9
- data/generated/google/apis/documentai_v1beta2.rb +1 -1
- data/generated/google/apis/documentai_v1beta2/classes.rb +5 -92
- data/generated/google/apis/documentai_v1beta2/representations.rb +2 -15
- data/generated/google/apis/documentai_v1beta3.rb +1 -1
- data/generated/google/apis/documentai_v1beta3/classes.rb +5 -92
- data/generated/google/apis/documentai_v1beta3/representations.rb +2 -15
- data/generated/google/apis/gameservices_v1.rb +1 -1
- data/generated/google/apis/gameservices_v1/service.rb +14 -14
- data/generated/google/apis/gameservices_v1beta.rb +1 -1
- data/generated/google/apis/gameservices_v1beta/service.rb +14 -14
- data/generated/google/apis/localservices_v1.rb +4 -1
- data/generated/google/apis/manufacturers_v1.rb +1 -1
- data/generated/google/apis/manufacturers_v1/classes.rb +2 -2
- data/generated/google/apis/monitoring_v3.rb +1 -1
- data/generated/google/apis/monitoring_v3/classes.rb +2 -2
- data/generated/google/apis/notebooks_v1.rb +1 -1
- data/generated/google/apis/notebooks_v1/classes.rb +13 -0
- data/generated/google/apis/notebooks_v1/representations.rb +12 -0
- data/generated/google/apis/notebooks_v1/service.rb +34 -0
- data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
- data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +0 -37
- data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +0 -18
- data/generated/google/apis/recommendationengine_v1beta1.rb +1 -1
- data/generated/google/apis/recommendationengine_v1beta1/service.rb +2 -1
- data/generated/google/apis/securitycenter_v1.rb +1 -1
- data/generated/google/apis/securitycenter_v1/classes.rb +18 -10
- data/generated/google/apis/securitycenter_v1/representations.rb +1 -0
- data/generated/google/apis/securitycenter_v1/service.rb +30 -30
- data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
- data/generated/google/apis/securitycenter_v1beta1/classes.rb +7 -0
- data/generated/google/apis/securitycenter_v1beta1/representations.rb +1 -0
- data/generated/google/apis/securitycenter_v1beta2.rb +1 -1
- data/generated/google/apis/securitycenter_v1beta2/classes.rb +7 -0
- data/generated/google/apis/securitycenter_v1beta2/representations.rb +1 -0
- data/generated/google/apis/servicemanagement_v1.rb +1 -1
- data/generated/google/apis/servicemanagement_v1/classes.rb +11 -10
- data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
- data/generated/google/apis/sqladmin_v1beta4/classes.rb +7 -7
- data/generated/google/apis/sqladmin_v1beta4/service.rb +4 -1
- data/generated/google/apis/storagetransfer_v1.rb +1 -1
- data/generated/google/apis/storagetransfer_v1/classes.rb +25 -0
- data/generated/google/apis/storagetransfer_v1/representations.rb +3 -0
- data/generated/google/apis/webmasters_v3/classes.rb +8 -0
- data/generated/google/apis/webmasters_v3/representations.rb +1 -0
- data/generated/google/apis/youtube_v3.rb +1 -1
- data/generated/google/apis/youtube_v3/classes.rb +18 -143
- data/generated/google/apis/youtube_v3/representations.rb +0 -57
- data/generated/google/apis/youtube_v3/service.rb +0 -43
- data/lib/google/apis/version.rb +1 -23
- metadata +27 -263
- data/.github/CONTRIBUTING.md +0 -31
- data/.github/ISSUE_TEMPLATE/bug_report.md +0 -36
- data/.github/ISSUE_TEMPLATE/feature_request.md +0 -21
- data/.github/ISSUE_TEMPLATE/support_request.md +0 -7
- data/.github/workflows/autoapprove.yml +0 -49
- data/.github/workflows/release-please.yml +0 -57
- data/.gitignore +0 -23
- data/.kokoro/build.bat +0 -11
- data/.kokoro/build.sh +0 -4
- data/.kokoro/continuous/common.cfg +0 -25
- data/.kokoro/continuous/linux.cfg +0 -25
- data/.kokoro/continuous/osx.cfg +0 -8
- data/.kokoro/continuous/post.cfg +0 -30
- data/.kokoro/continuous/windows.cfg +0 -29
- data/.kokoro/osx.sh +0 -4
- data/.kokoro/presubmit/common.cfg +0 -24
- data/.kokoro/presubmit/linux.cfg +0 -24
- data/.kokoro/presubmit/osx.cfg +0 -8
- data/.kokoro/presubmit/windows.cfg +0 -29
- data/.kokoro/release.cfg +0 -94
- data/.kokoro/trampoline.bat +0 -10
- data/.kokoro/trampoline.sh +0 -4
- data/.repo-metadata.json +0 -5
- data/.rspec +0 -2
- data/.rubocop.yml +0 -12
- data/.rubocop_todo.yml +0 -63
- data/CODE_OF_CONDUCT.md +0 -43
- data/Gemfile +0 -55
- data/MIGRATING.md +0 -215
- data/README.md +0 -402
- data/Rakefile +0 -131
- data/api_list_config.yaml +0 -9
- data/api_names.yaml +0 -1082
- data/bin/generate-api +0 -194
- data/docs/api-keys.md +0 -20
- data/docs/auth.md +0 -53
- data/docs/client-secrets.md +0 -69
- data/docs/getting-started.md +0 -340
- data/docs/installation.md +0 -0
- data/docs/logging.md +0 -34
- data/docs/media-upload.md +0 -25
- data/docs/oauth-installed.md +0 -191
- data/docs/oauth-server.md +0 -133
- data/docs/oauth-web.md +0 -280
- data/docs/oauth.md +0 -268
- data/docs/pagination.md +0 -29
- data/docs/performance.md +0 -25
- data/google-api-client.gemspec +0 -36
- data/lib/google/api_client/auth/installed_app.rb +0 -143
- data/lib/google/api_client/auth/key_utils.rb +0 -94
- data/lib/google/api_client/auth/storage.rb +0 -104
- data/lib/google/api_client/auth/storages/file_store.rb +0 -57
- data/lib/google/api_client/auth/storages/redis_store.rb +0 -59
- data/lib/google/api_client/client_secrets.rb +0 -176
- data/lib/google/apis.rb +0 -58
- data/lib/google/apis/core/api_command.rb +0 -209
- data/lib/google/apis/core/base_service.rb +0 -447
- data/lib/google/apis/core/batch.rb +0 -236
- data/lib/google/apis/core/composite_io.rb +0 -97
- data/lib/google/apis/core/download.rb +0 -118
- data/lib/google/apis/core/hashable.rb +0 -44
- data/lib/google/apis/core/http_command.rb +0 -447
- data/lib/google/apis/core/json_representation.rb +0 -153
- data/lib/google/apis/core/multipart.rb +0 -135
- data/lib/google/apis/core/upload.rb +0 -273
- data/lib/google/apis/errors.rb +0 -89
- data/lib/google/apis/generator.rb +0 -71
- data/lib/google/apis/generator/annotator.rb +0 -339
- data/lib/google/apis/generator/helpers.rb +0 -76
- data/lib/google/apis/generator/model.rb +0 -187
- data/lib/google/apis/generator/template.rb +0 -124
- data/lib/google/apis/generator/templates/_class.tmpl +0 -43
- data/lib/google/apis/generator/templates/_method.tmpl +0 -92
- data/lib/google/apis/generator/templates/_representation.tmpl +0 -51
- data/lib/google/apis/generator/templates/_representation_stub.tmpl +0 -17
- data/lib/google/apis/generator/templates/_representation_type.tmpl +0 -10
- data/lib/google/apis/generator/templates/classes.rb.tmpl +0 -29
- data/lib/google/apis/generator/templates/module.rb.tmpl +0 -40
- data/lib/google/apis/generator/templates/representations.rb.tmpl +0 -32
- data/lib/google/apis/generator/templates/service.rb.tmpl +0 -61
- data/lib/google/apis/options.rb +0 -116
- data/rakelib/devsite/devsite_builder.rb +0 -126
- data/rakelib/devsite/link_checker.rb +0 -64
- data/rakelib/devsite/repo_metadata.rb +0 -56
- data/rakelib/metrics.rake +0 -22
- data/rakelib/rubocop.rake +0 -10
- data/rakelib/spec.rake +0 -11
- data/rakelib/yard.rake +0 -11
- data/samples/cli/.env +0 -4
- data/samples/cli/Gemfile +0 -7
- data/samples/cli/README.md +0 -51
- data/samples/cli/google-api-samples +0 -32
- data/samples/cli/lib/base_cli.rb +0 -95
- data/samples/cli/lib/samples/adsense.rb +0 -99
- data/samples/cli/lib/samples/analytics.rb +0 -80
- data/samples/cli/lib/samples/androidpublisher.rb +0 -47
- data/samples/cli/lib/samples/bigquery.rb +0 -101
- data/samples/cli/lib/samples/calendar.rb +0 -83
- data/samples/cli/lib/samples/drive.rb +0 -82
- data/samples/cli/lib/samples/gmail.rb +0 -157
- data/samples/cli/lib/samples/pubsub.rb +0 -114
- data/samples/cli/lib/samples/sheets.rb +0 -61
- data/samples/cli/lib/samples/translate.rb +0 -44
- data/samples/cli/lib/samples/vision.rb +0 -69
- data/samples/cli/lib/samples/you_tube.rb +0 -47
- data/samples/web/Gemfile +0 -9
- data/samples/web/README.md +0 -44
- data/samples/web/app.rb +0 -120
- data/samples/web/views/calendar.erb +0 -34
- data/samples/web/views/drive.erb +0 -33
- data/samples/web/views/home.erb +0 -34
- data/samples/web/views/layout.erb +0 -40
- data/synth.py +0 -40
@@ -1,76 +0,0 @@
|
|
1
|
-
module Google
|
2
|
-
module Apis
|
3
|
-
# @private
|
4
|
-
class Generator
|
5
|
-
# Methods for validating & normalizing symbols
|
6
|
-
module NameHelpers
|
7
|
-
KEYWORDS = %w(__ENCODING__ def in self __LINE__ defined? module super __FILE__ do next then BEGIN
|
8
|
-
else nil true END elsif not undef alias end or unless and ensure redo until begin
|
9
|
-
false rescue when break for retry while case if return yield class command)
|
10
|
-
PLURAL_METHODS = %w(list search)
|
11
|
-
|
12
|
-
# Check to see if the method name should be plauralized
|
13
|
-
# @return [Boolean]
|
14
|
-
def pluralize_method?(method_name)
|
15
|
-
PLURAL_METHODS.include?(method_name)
|
16
|
-
end
|
17
|
-
|
18
|
-
# Check to see if the method is either a keyword or built-in method on object
|
19
|
-
# @return [Boolean]
|
20
|
-
def reserved?(name)
|
21
|
-
keyword?(name) || object_method?(name)
|
22
|
-
end
|
23
|
-
|
24
|
-
# Check to see if the name is a ruby keyword
|
25
|
-
# @return [Boolean]
|
26
|
-
def keyword?(name)
|
27
|
-
KEYWORDS.include?(name)
|
28
|
-
end
|
29
|
-
|
30
|
-
# Check to see if the method already exists on ruby objects
|
31
|
-
# @return [Boolean]
|
32
|
-
def object_method?(name)
|
33
|
-
Object.new.respond_to?(name)
|
34
|
-
end
|
35
|
-
|
36
|
-
# Convert a parameter name to ruby conventions
|
37
|
-
# @param [String] name
|
38
|
-
# @return [String] updated param name
|
39
|
-
def normalize_param_name(name)
|
40
|
-
name = name.gsub(/\W/, '_')
|
41
|
-
name = name.gsub(/IPv4/, 'Ipv4')
|
42
|
-
name = ActiveSupport::Inflector.underscore(name)
|
43
|
-
if reserved?(name)
|
44
|
-
logger.warn { sprintf('Found reserved keyword \'%1$s\'', name) }
|
45
|
-
name += '_'
|
46
|
-
logger.warn { sprintf('Changed to \'%1$s\'', name) }
|
47
|
-
end
|
48
|
-
name
|
49
|
-
end
|
50
|
-
|
51
|
-
# Convert a property name to ruby conventions
|
52
|
-
# @param [String] name
|
53
|
-
# @return [String]
|
54
|
-
def normalize_property_name(name)
|
55
|
-
name = ActiveSupport::Inflector.underscore(name.gsub(/\W/, '_'))
|
56
|
-
if object_method?(name)
|
57
|
-
logger.warn { sprintf('Found reserved property \'%1$s\'', name) }
|
58
|
-
name += '_prop'
|
59
|
-
logger.warn { sprintf('Changed to \'%1$s\'', name) }
|
60
|
-
end
|
61
|
-
name
|
62
|
-
end
|
63
|
-
|
64
|
-
# Converts a scope string into a ruby constant
|
65
|
-
# @param [String] url
|
66
|
-
# Url to convert
|
67
|
-
# @return [String]
|
68
|
-
def constantize_scope(url)
|
69
|
-
scope = Addressable::URI.parse(url).path[1..-1].upcase.gsub(/\W/, '_')
|
70
|
-
scope = 'AUTH_SCOPE' if scope.nil? || scope.empty?
|
71
|
-
scope
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
@@ -1,187 +0,0 @@
|
|
1
|
-
# Copyright 2015 Google Inc.
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
|
-
require 'active_support/inflector'
|
16
|
-
require 'google/apis/discovery_v1'
|
17
|
-
|
18
|
-
# Extend the discovery API classes with additional data needed to make
|
19
|
-
# code generation produce better results
|
20
|
-
module Google
|
21
|
-
module Apis
|
22
|
-
module DiscoveryV1
|
23
|
-
TYPE_MAP = {
|
24
|
-
'string' => 'String',
|
25
|
-
'boolean' => 'Boolean',
|
26
|
-
'number' => 'Float',
|
27
|
-
'integer' => 'Fixnum',
|
28
|
-
'any' => 'Object'
|
29
|
-
}
|
30
|
-
|
31
|
-
class JsonSchema
|
32
|
-
attr_accessor :name
|
33
|
-
attr_accessor :generated_name
|
34
|
-
attr_accessor :generated_class_name
|
35
|
-
attr_accessor :base_ref
|
36
|
-
attr_accessor :parent
|
37
|
-
attr_accessor :discriminant
|
38
|
-
attr_accessor :discriminant_value
|
39
|
-
attr_accessor :path
|
40
|
-
|
41
|
-
def properties
|
42
|
-
Hash[(@properties || {}).sort]
|
43
|
-
end
|
44
|
-
|
45
|
-
def qualified_name
|
46
|
-
parent.qualified_name + '::' + generated_class_name
|
47
|
-
end
|
48
|
-
|
49
|
-
def generated_type
|
50
|
-
case type
|
51
|
-
when 'string', 'boolean', 'number', 'integer', 'any'
|
52
|
-
return 'DateTime' if format == 'date-time'
|
53
|
-
return 'Date' if format == 'date'
|
54
|
-
return 'Fixnum' if format == 'int64'
|
55
|
-
return 'Fixnum' if format == 'uint64'
|
56
|
-
return TYPE_MAP[type]
|
57
|
-
when 'array'
|
58
|
-
if items == self
|
59
|
-
return sprintf('Array<%s>', qualified_name)
|
60
|
-
end
|
61
|
-
return sprintf('Array<%s>', items.generated_type)
|
62
|
-
when 'hash'
|
63
|
-
if additional_properties == self
|
64
|
-
return sprintf('Hash<String,%s>', qualified_name)
|
65
|
-
end
|
66
|
-
return sprintf('Hash<String,%s>', additional_properties.generated_type)
|
67
|
-
when 'object'
|
68
|
-
return qualified_name
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
class RestMethod
|
74
|
-
attr_accessor :generated_name
|
75
|
-
attr_accessor :parent
|
76
|
-
|
77
|
-
def parameters
|
78
|
-
Hash[(@parameters || {}).sort]
|
79
|
-
end
|
80
|
-
|
81
|
-
def path_parameters
|
82
|
-
return [] if parameter_order.nil? || parameters.nil?
|
83
|
-
parameter_order.map { |name| parameters[name] }.select { |param| param.location == 'path' }
|
84
|
-
end
|
85
|
-
|
86
|
-
def query_parameters
|
87
|
-
return [] if parameters.nil?
|
88
|
-
parameters.values.select { |param| param.location == 'query' }
|
89
|
-
end
|
90
|
-
|
91
|
-
def required_parameters
|
92
|
-
return [] if parameter_order.nil? || parameters.nil?
|
93
|
-
parameter_order.map { |name| parameters[name] }.select { |param| param.location == 'path' || param.required }
|
94
|
-
end
|
95
|
-
|
96
|
-
def optional_query_parameters
|
97
|
-
query_parameters.select { |param| param.required != true }
|
98
|
-
end
|
99
|
-
|
100
|
-
end
|
101
|
-
|
102
|
-
class RestResource
|
103
|
-
attr_accessor :parent
|
104
|
-
|
105
|
-
def api_methods
|
106
|
-
Hash[(@api_methods || {}).sort]
|
107
|
-
end
|
108
|
-
|
109
|
-
def resources
|
110
|
-
Hash[(@resources || {}).sort]
|
111
|
-
end
|
112
|
-
|
113
|
-
def all_methods
|
114
|
-
m = []
|
115
|
-
m << api_methods.values unless api_methods.nil?
|
116
|
-
m << resources.map { |_k, r| r.all_methods } unless resources.nil?
|
117
|
-
m.flatten
|
118
|
-
end
|
119
|
-
end
|
120
|
-
|
121
|
-
class RestDescription
|
122
|
-
attr_accessor :force_alt_json
|
123
|
-
alias_method :force_alt_json?, :force_alt_json
|
124
|
-
|
125
|
-
# Don't expose these in the API directly.
|
126
|
-
PARAMETER_BLACKLIST = %w(alt access_token bearer_token oauth_token pp prettyPrint
|
127
|
-
$.xgafv callback upload_protocol uploadType)
|
128
|
-
|
129
|
-
def version
|
130
|
-
ActiveSupport::Inflector.camelize(@version.gsub(/\W/, '-')).gsub(/-/, '_')
|
131
|
-
end
|
132
|
-
|
133
|
-
def name
|
134
|
-
ActiveSupport::Inflector.camelize(@name)
|
135
|
-
end
|
136
|
-
|
137
|
-
def module_name
|
138
|
-
name + version
|
139
|
-
end
|
140
|
-
|
141
|
-
def qualified_name
|
142
|
-
sprintf('Google::Apis::%s', module_name)
|
143
|
-
end
|
144
|
-
|
145
|
-
def service_name
|
146
|
-
class_name = (canonical_name || name).gsub(/\W/, '')
|
147
|
-
ActiveSupport::Inflector.camelize(sprintf('%sService', class_name))
|
148
|
-
end
|
149
|
-
|
150
|
-
def api_methods
|
151
|
-
Hash[(@api_methods || {}).sort]
|
152
|
-
end
|
153
|
-
|
154
|
-
def resources
|
155
|
-
Hash[(@resources || {}).sort]
|
156
|
-
end
|
157
|
-
|
158
|
-
def all_methods
|
159
|
-
m = []
|
160
|
-
m << api_methods.values unless api_methods.nil?
|
161
|
-
m << resources.map { |_k, r| r.all_methods } unless resources.nil?
|
162
|
-
m.flatten
|
163
|
-
end
|
164
|
-
|
165
|
-
def parameters
|
166
|
-
Hash[(@parameters || {}).sort].delete_if { |k, _v| PARAMETER_BLACKLIST.include?(k) }
|
167
|
-
end
|
168
|
-
|
169
|
-
def schemas
|
170
|
-
Hash[(@schemas || {}).sort]
|
171
|
-
end
|
172
|
-
|
173
|
-
class Auth
|
174
|
-
class Oauth2
|
175
|
-
class Scope
|
176
|
-
attr_accessor :constant
|
177
|
-
end
|
178
|
-
|
179
|
-
def scopes
|
180
|
-
Hash[(@scopes || {}).sort]
|
181
|
-
end
|
182
|
-
end
|
183
|
-
end
|
184
|
-
end
|
185
|
-
end
|
186
|
-
end
|
187
|
-
end
|
@@ -1,124 +0,0 @@
|
|
1
|
-
# Copyright 2015 Google Inc.
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
|
-
require 'active_support/inflector'
|
16
|
-
require 'erb'
|
17
|
-
require 'ostruct'
|
18
|
-
|
19
|
-
module Google
|
20
|
-
module Apis
|
21
|
-
# @private
|
22
|
-
class Generator
|
23
|
-
# Directory containing ERB templates
|
24
|
-
TEMPLATE_DIR = File.expand_path('../templates', __FILE__)
|
25
|
-
|
26
|
-
# Helpers used in ERB templates
|
27
|
-
module TemplateHelpers
|
28
|
-
# Get the include path for a ruby module/class
|
29
|
-
#
|
30
|
-
# @param [String] module_name
|
31
|
-
# Fully qualified module/class name
|
32
|
-
# @return [String]
|
33
|
-
# Path to file
|
34
|
-
def to_path(module_name)
|
35
|
-
ActiveSupport::Inflector.underscore(module_name)
|
36
|
-
end
|
37
|
-
|
38
|
-
# Render a block comment
|
39
|
-
#
|
40
|
-
# @param [String] str
|
41
|
-
# Comment string
|
42
|
-
# @param [Fixnum] spaces_before
|
43
|
-
# Number of spaces to indent the comment hash
|
44
|
-
# @param [Fixnum] spaces_after
|
45
|
-
# Number of spaces to indent after the comment hash for subsequent lines
|
46
|
-
# @return [String] formatted comment
|
47
|
-
def block_comment(str, spaces_before = 0, spaces_after = 0)
|
48
|
-
return '' if str.nil?
|
49
|
-
pre = ' ' * spaces_before
|
50
|
-
post = ' ' * spaces_after
|
51
|
-
lines = str.gsub(/([{}])/, '`').scan(/.{1,78}(?:\W|$)/).map(&:strip)
|
52
|
-
lines.join("\n" + pre + '#' + post)
|
53
|
-
end
|
54
|
-
|
55
|
-
# Indent a block of text
|
56
|
-
#
|
57
|
-
# @param [String] str
|
58
|
-
# Content to indent
|
59
|
-
# @param [Fixnum] spaces
|
60
|
-
# Number of spaces to indent
|
61
|
-
# @return [String] formatted content
|
62
|
-
def indent(str, spaces)
|
63
|
-
pre = ' ' * spaces
|
64
|
-
str = pre + str.split(/\n/).join("\n" + pre) + "\n"
|
65
|
-
return str unless str.strip.empty?
|
66
|
-
nil
|
67
|
-
end
|
68
|
-
|
69
|
-
# Include a partial inside a template.
|
70
|
-
#
|
71
|
-
# @private
|
72
|
-
# @param [String] partial
|
73
|
-
# Name of the template
|
74
|
-
# @param [Hash] context
|
75
|
-
# Context used to render
|
76
|
-
# @return [String] rendered content
|
77
|
-
def include(partial, context)
|
78
|
-
template = Template.new(sprintf('_%s.tmpl', partial))
|
79
|
-
template.render(context)
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
# Holds local vars/helpers for template rendering
|
84
|
-
class Context < OpenStruct
|
85
|
-
include TemplateHelpers
|
86
|
-
|
87
|
-
# Get the context for ERB evaluation
|
88
|
-
# @return [Binding]
|
89
|
-
def to_binding
|
90
|
-
binding
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
# ERB template for the code generator
|
95
|
-
class Template
|
96
|
-
# Loads a template from the template dir. Automatically
|
97
|
-
# appends the .tmpl suffix
|
98
|
-
#
|
99
|
-
# @param [String] template_name
|
100
|
-
# Name of the template file
|
101
|
-
def self.load(template_name)
|
102
|
-
Template.new(sprintf('%s.tmpl', template_name))
|
103
|
-
end
|
104
|
-
|
105
|
-
# @param [String] template_name
|
106
|
-
# Name of the template file
|
107
|
-
def initialize(template_name)
|
108
|
-
file = File.join(TEMPLATE_DIR, template_name)
|
109
|
-
@erb = ERB.new(File.read(file), nil, '-')
|
110
|
-
end
|
111
|
-
|
112
|
-
# Render the template
|
113
|
-
#
|
114
|
-
# @param [Hash] context
|
115
|
-
# Variables to set when rendering the template
|
116
|
-
# @return [String] rendered template
|
117
|
-
def render(context)
|
118
|
-
ctx = Context.new(context)
|
119
|
-
@erb.result(ctx.to_binding)
|
120
|
-
end
|
121
|
-
end
|
122
|
-
end
|
123
|
-
end
|
124
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
<% if cls.type == 'object' || (cls.type == 'hash' && cls.properties.length > 0) -%>
|
2
|
-
|
3
|
-
# <%= block_comment(cls.description, 0, 1) %>
|
4
|
-
class <%= cls.generated_class_name %><% if cls.base_ref %> < <%= cls.base_ref.generated_type %><% end %>
|
5
|
-
include Google::Apis::Core::Hashable
|
6
|
-
<% for property in cls.properties.values -%>
|
7
|
-
|
8
|
-
# <%= block_comment(property.description, 2, 1) %>
|
9
|
-
# Corresponds to the JSON property `<%= property.name %>`
|
10
|
-
<% if property.format == 'byte' -%>
|
11
|
-
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
12
|
-
<% end -%>
|
13
|
-
# @return [<%= property.generated_type %>]
|
14
|
-
attr_accessor :<%= property.generated_name %>
|
15
|
-
<% if property.type == 'boolean' -%>
|
16
|
-
alias_method :<%= property.generated_name %>?, :<%= property.generated_name %>
|
17
|
-
<% end -%>
|
18
|
-
<% end -%>
|
19
|
-
|
20
|
-
def initialize(**args)
|
21
|
-
<% if cls.discriminant -%>
|
22
|
-
@<%= cls.properties[cls.discriminant].generated_name %> = '<%= cls.discriminant_value %>'
|
23
|
-
<% end -%>
|
24
|
-
update!(**args)
|
25
|
-
end
|
26
|
-
|
27
|
-
# Update properties of this object
|
28
|
-
def update!(**args)
|
29
|
-
<% for property in cls.properties.values -%>
|
30
|
-
@<%= property.generated_name %> = args[:<%= property.generated_name %>] if args.key?(:<%= property.generated_name %>)
|
31
|
-
<% end -%>
|
32
|
-
end
|
33
|
-
<% for child_class in cls.properties.values -%>
|
34
|
-
<% if child_class._ref.nil? -%>
|
35
|
-
<%= indent(include('class', :cls => child_class, :api => api), 2) -%>
|
36
|
-
<% end -%>
|
37
|
-
<% end -%>
|
38
|
-
end
|
39
|
-
<% elsif cls.items && cls.items._ref.nil? -%>
|
40
|
-
<%= include('class', :cls => cls.items, :api => api) -%>
|
41
|
-
<% elsif cls.additional_properties && cls.additional_properties._ref.nil? -%>
|
42
|
-
<%= include('class', :cls => cls.additional_properties, :api => api) -%>
|
43
|
-
<% end -%>
|
@@ -1,92 +0,0 @@
|
|
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
|