google-api-client 0.52.0 → 0.53.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|