gapic-generator 0.6.14 → 0.7.4
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/CHANGELOG.md +31 -0
- data/bin/protoc-gen-ruby_gapic +6 -6
- data/lib/gapic/file_formatter.rb +2 -1
- data/lib/gapic/formatting_utils.rb +4 -4
- data/lib/gapic/generator/version.rb +1 -1
- data/lib/gapic/generators/default_generator.rb +8 -5
- data/lib/gapic/generators/default_generator_parameters.rb +8 -4
- data/lib/gapic/grpc_service_config/method_config.rb +2 -1
- data/lib/gapic/grpc_service_config/retry_policy.rb +4 -1
- data/lib/gapic/grpc_service_config/service_config.rb +2 -1
- data/lib/gapic/path_pattern/parser.rb +1 -1
- data/lib/gapic/path_pattern/pattern.rb +2 -1
- data/lib/gapic/path_pattern/segment.rb +10 -3
- data/lib/gapic/presenters.rb +2 -0
- data/lib/gapic/presenters/field_presenter.rb +44 -0
- data/lib/gapic/presenters/gem_presenter.rb +4 -1
- data/lib/gapic/presenters/method_presenter.rb +32 -16
- data/lib/gapic/presenters/method_rest_presenter.rb +186 -0
- data/lib/gapic/presenters/package_presenter.rb +21 -3
- data/lib/gapic/presenters/resource_presenter.rb +2 -1
- data/lib/gapic/presenters/sample_presenter.rb +6 -1
- data/lib/gapic/presenters/service_presenter.rb +48 -10
- data/lib/gapic/presenters/service_rest_presenter.rb +157 -0
- data/lib/gapic/schema/api.rb +48 -19
- data/lib/gapic/schema/parameter_schema.rb +4 -1
- data/lib/gapic/schema/request_param_parser.rb +44 -10
- data/lib/gapic/schema/request_parameter.rb +5 -1
- data/lib/gapic/schema/wrappers.rb +31 -18
- data/lib/gapic/uri_template/parser.rb +4 -6
- data/templates/default/gem/gemspec.erb +2 -2
- data/templates/default/gem/readme.erb +2 -2
- data/templates/default/gem/rubocop.erb +2 -12
- data/templates/default/lib/_package.erb +11 -1
- data/templates/default/lib/_service.erb +31 -1
- data/templates/default/lib/rest/_rest.erb +11 -0
- data/templates/default/service/client/_config.erb +2 -2
- data/templates/default/service/rest.erb +6 -0
- data/templates/default/service/rest/client.erb +6 -0
- data/templates/default/service/rest/client/_client.erb +115 -0
- data/templates/default/service/rest/client/_config.erb +74 -0
- data/templates/default/service/rest/client/_requires.erb +1 -0
- data/templates/default/service/rest/client/method/_def.erb +18 -0
- data/templates/default/service/rest/client/method/def/_options_defaults.erb +14 -0
- data/templates/default/service/rest/client/method/def/_rescue.erb +3 -0
- data/templates/default/service/rest/client/method/def/_response_normal.erb +17 -0
- data/templates/default/service/rest/client/method/docs/_error.erb +2 -0
- data/templates/default/service/rest/client/method/docs/_request.erb +27 -0
- data/templates/default/service/rest/client/method/docs/_result.erb +6 -0
- data/templates/default/service/rest/grpc_transcoding.erb +6 -0
- data/templates/default/service/rest/grpc_transcoding/_grpc_transcoding.erb +9 -0
- data/templates/default/service/rest/grpc_transcoding/method/_def.erb +21 -0
- data/templates/default/service/rest/grpc_transcoding/method/def/_query_string_param.erb +8 -0
- data/templates/default/service/test/method/_normal.erb +1 -1
- data/templates/default/service/test/method/_server.erb +1 -1
- metadata +27 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 521fdaba6a16a4e80df5aff2ea8c8de3d1edbd8800faae175f0b906f3990b369
|
4
|
+
data.tar.gz: 013d293b84fc4bd68ef5ca12ff7bb5e375889b90df6f4ec58f10a7f995329ac3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f59f4c117eb0fccd24a79cfb34c3995e6bbaa1dfa242b10673551cb5a73cc2feaebc09ff735e1411846a1fb42560a3094d8475d016966eb30c143a47efab9d6e
|
7
|
+
data.tar.gz: 6b46bba4dc50049901472aa123b7292f47495607d84b94f2c819703bdd82c0d5e61b3f9d073ac33380314d63e16bf20d135f13e35c05fdbb24d22020efb28c98
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,36 @@
|
|
1
1
|
# Release History for gapic-generator
|
2
2
|
|
3
|
+
### 0.7.4 / 2021-05-07
|
4
|
+
|
5
|
+
* Fixed the broken link in the generated libraries' README.md
|
6
|
+
* Generated libraries with REST transport now use presense testing instead of rejecting defaults to determine which fields to transcode into the query string parameters
|
7
|
+
|
8
|
+
### 0.7.3 / 2021-03-24
|
9
|
+
|
10
|
+
* Fixed gapic metadata (drift manifest) generation
|
11
|
+
* Gapic metadata generation is disabled by default in gapic-generator
|
12
|
+
(enabled by default in gapic-generator-cloud)
|
13
|
+
* Can now generate libraries with REST transport in addition to GRPC
|
14
|
+
* gapic-common 0.4 is the default version for the generated libraries now (was 0.3)
|
15
|
+
(required for the generated libraries with the REST transport)
|
16
|
+
|
17
|
+
### 0.7.2 / 2021-03-05
|
18
|
+
|
19
|
+
* No changes.
|
20
|
+
|
21
|
+
### 0.7.1 / 2021-02-27
|
22
|
+
|
23
|
+
* Update generated readmes to reflect that Ruby 2.5 or later is now required.
|
24
|
+
|
25
|
+
### 0.7.0 / 2021-02-27
|
26
|
+
|
27
|
+
* Update minimum Ruby version to 2.5 for generated libraries.
|
28
|
+
* Update supported Rubocop to 1.x for generated libraries.
|
29
|
+
|
30
|
+
### 0.6.15 / 2021-02-22
|
31
|
+
|
32
|
+
* Really fixed encoding arguments in executable entrypoints
|
33
|
+
|
3
34
|
### 0.6.14 / 2021-02-22
|
4
35
|
|
5
36
|
* Fixed encoding arguments in executable entrypoints
|
data/bin/protoc-gen-ruby_gapic
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#!/usr/bin/env -S ruby
|
1
|
+
#!/usr/bin/env -S ruby -EUTF-8
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
# Copyright 2018 Google LLC
|
@@ -15,19 +15,19 @@
|
|
15
15
|
# See the License for the specific language governing permissions and
|
16
16
|
# limitations under the License.
|
17
17
|
|
18
|
-
$LOAD_PATH.unshift ::File.expand_path("
|
18
|
+
$LOAD_PATH.unshift ::File.expand_path("../lib", __dir__)
|
19
19
|
require "gapic/runner"
|
20
20
|
require "google/protobuf/compiler/plugin.pb"
|
21
21
|
|
22
22
|
# Ensure that no encoding conversions are done on STDIN and STDOUT
|
23
23
|
# since we are passing binary data back and forth. Otherwise these
|
24
24
|
# streams will be mangled on Windows.
|
25
|
-
|
26
|
-
|
25
|
+
$stdin.binmode
|
26
|
+
$stdout.binmode
|
27
27
|
|
28
|
-
request = Google::Protobuf::Compiler::CodeGeneratorRequest.decode
|
28
|
+
request = Google::Protobuf::Compiler::CodeGeneratorRequest.decode $stdin.read
|
29
29
|
|
30
30
|
# Run the request
|
31
31
|
response = Gapic::Runner.run request
|
32
32
|
|
33
|
-
|
33
|
+
$stdout.print response.serialize
|
data/lib/gapic/file_formatter.rb
CHANGED
@@ -21,9 +21,9 @@ module Gapic
|
|
21
21
|
# Various string formatting utils
|
22
22
|
#
|
23
23
|
module FormattingUtils
|
24
|
-
@brace_detector = /\A(?<pre>[^`]*(
|
25
|
-
@xref_detector = /\A(?<pre>[^`]*(
|
26
|
-
@list_element_detector = /\A\s*(
|
24
|
+
@brace_detector = /\A(?<pre>[^`]*(?:`[^`]*`[^`]*)*[^`\\])?\{(?<inside>[^\s][^}]*)\}(?<post>.*)\z/m
|
25
|
+
@xref_detector = /\A(?<pre>[^`]*(?:`[^`]*`[^`]*)*)?\[(?<text>[\w. `-]+)\]\[(?<addr>[\w.]+)\](?<post>.*)\z/m
|
26
|
+
@list_element_detector = /\A\s*(?:\*|\+|-|[0-9a-zA-Z]+\.)\s/
|
27
27
|
@omit_lines = ["@InputOnly\n", "@OutputOnly\n"]
|
28
28
|
|
29
29
|
class << self
|
@@ -76,7 +76,7 @@ module Gapic
|
|
76
76
|
def format_number value
|
77
77
|
return value.to_s if value.abs < 10_000
|
78
78
|
str = value.is_a?(Integer) ? value.to_s : BigDecimal(value.to_f.to_s).to_s("F")
|
79
|
-
re = /^(-?\d+)(\d\d\d)([_
|
79
|
+
re = /^(-?\d+)(\d\d\d)([_.][_.\d]+)?$/
|
80
80
|
while (m = re.match str)
|
81
81
|
str = "#{m[1]}_#{m[2]}#{m[3]}"
|
82
82
|
end
|
@@ -54,13 +54,16 @@ module Gapic
|
|
54
54
|
package.services.each do |service|
|
55
55
|
# Service level files
|
56
56
|
files << g("service.erb", "lib/#{service.service_file_path}", service: service)
|
57
|
-
files << g("service/
|
57
|
+
files << g("service/rest.erb", "lib/#{service.rest.service_rest_file_path}", service: service) if @api.generate_rest_clients? and service.methods_rest_bindings?
|
58
|
+
files << g("service/client.erb", "lib/#{service.client_file_path}", service: service) unless @api.generate_rest_clients?
|
58
59
|
files << g("service/credentials.erb", "lib/#{service.credentials_file_path}", service: service) unless gem.generic_endpoint?
|
59
60
|
files << g("service/paths.erb", "lib/#{service.paths_file_path}", service: service) if service.paths?
|
60
|
-
files << g("service/operations.erb", "lib/#{service.operations_file_path}", service: service) if service.lro?
|
61
|
-
files << g("service/
|
61
|
+
files << g("service/operations.erb", "lib/#{service.operations_file_path}", service: service) if service.lro? && !@api.generate_rest_clients?
|
62
|
+
files << g("service/rest/client.erb", "lib/#{service.rest.client_file_path}", service: service) if @api.generate_rest_clients? and service.methods_rest_bindings?
|
63
|
+
files << g("service/rest/grpc_transcoding.erb", "lib/#{service.rest.transcoding_helper_file_path}", service: service) if @api.generate_rest_clients? and service.methods_rest_bindings?
|
64
|
+
files << g("service/test/client.erb", "test/#{service.test_client_file_path}", service: service) unless @api.generate_rest_clients?
|
62
65
|
files << g("service/test/client_paths.erb", "test/#{service.test_paths_file_path}", service: service) if service.paths?
|
63
|
-
files << g("service/test/client_operations.erb", "test/#{service.test_client_operations_file_path}", service: service) if service.lro?
|
66
|
+
files << g("service/test/client_operations.erb", "test/#{service.test_client_operations_file_path}", service: service) if service.lro? && !@api.generate_rest_clients?
|
64
67
|
end
|
65
68
|
end
|
66
69
|
|
@@ -77,7 +80,7 @@ module Gapic
|
|
77
80
|
files << g("gem/yardopts.erb", ".yardopts", gem: gem)
|
78
81
|
files << g("gem/license.erb", "LICENSE.md", gem: gem)
|
79
82
|
files << g("gem/entrypoint.erb", "lib/#{gem.name}.rb", gem: gem)
|
80
|
-
files << g("gem/gapic_metadata_json.erb", "gapic_metadata.json", gem: gem)
|
83
|
+
files << g("gem/gapic_metadata_json.erb", "gapic_metadata.json", gem: gem) if @api.generate_metadata
|
81
84
|
|
82
85
|
gem.proto_files.each do |proto_file|
|
83
86
|
files << g("proto_docs/proto_file.erb", "proto_docs/#{proto_file.docs_file_path}", file: proto_file)
|
@@ -23,7 +23,8 @@ module Gapic
|
|
23
23
|
BOOL_PARAMETERS = [
|
24
24
|
":gem.:free_tier",
|
25
25
|
":gem.:yard_strict",
|
26
|
-
":gem.:generic_endpoint"
|
26
|
+
":gem.:generic_endpoint",
|
27
|
+
":generate_metadata"
|
27
28
|
].freeze
|
28
29
|
|
29
30
|
STRING_PARAMETERS = [
|
@@ -42,11 +43,13 @@ module Gapic
|
|
42
43
|
":gem.:api_shortname",
|
43
44
|
":gem.:factory_method_suffix",
|
44
45
|
":defaults.:service.:default_host",
|
45
|
-
"grpc_service_config"
|
46
|
+
"grpc_service_config",
|
47
|
+
":overrides.:wrapper_gem_name"
|
46
48
|
].freeze
|
47
49
|
|
48
50
|
ARRAY_PARAMETERS = [
|
49
|
-
":defaults.:service.:oauth_scopes"
|
51
|
+
":defaults.:service.:oauth_scopes",
|
52
|
+
":transports"
|
50
53
|
].freeze
|
51
54
|
|
52
55
|
MAP_PARAMETERS = [
|
@@ -83,7 +86,8 @@ module Gapic
|
|
83
86
|
}.freeze
|
84
87
|
|
85
88
|
ARRAY_PARAMETERS_ALIASES = {
|
86
|
-
"default-oauth-scopes" => ":defaults.:service.:oauth_scopes"
|
89
|
+
"default-oauth-scopes" => ":defaults.:service.:oauth_scopes",
|
90
|
+
"transports" => ":transports"
|
87
91
|
}.freeze
|
88
92
|
|
89
93
|
MAP_PARAMETERS_ALIASES = {
|
@@ -21,7 +21,10 @@ module Gapic
|
|
21
21
|
# for the GRPC method invocation. It is embedded into the MethodConfig
|
22
22
|
#
|
23
23
|
class RetryPolicy
|
24
|
-
attr_reader :initial_delay_seconds
|
24
|
+
attr_reader :initial_delay_seconds
|
25
|
+
attr_reader :max_delay_seconds
|
26
|
+
attr_reader :multiplier
|
27
|
+
attr_reader :status_codes
|
25
28
|
|
26
29
|
##
|
27
30
|
# Create new ParsedRetryPolicy.
|
@@ -22,7 +22,8 @@ module Gapic
|
|
22
22
|
# applied to the specific methods
|
23
23
|
#
|
24
24
|
class ServiceConfig
|
25
|
-
attr_reader :service_level_configs
|
25
|
+
attr_reader :service_level_configs
|
26
|
+
attr_reader :service_method_level_configs
|
26
27
|
|
27
28
|
##
|
28
29
|
# Create new ServiceConfig.
|
@@ -87,7 +87,7 @@ module Gapic
|
|
87
87
|
# @private
|
88
88
|
def self.try_capture_complex_resource_id_segment url_pattern
|
89
89
|
complex_resource_id_regex =
|
90
|
-
%r/^(?<segment_pattern>{(?<name_first>[^\/}]+?)}(?:(?<separator>[_
|
90
|
+
%r/^(?<segment_pattern>{(?<name_first>[^\/}]+?)}(?:(?<separator>[_\-~.]){(?<name_seq>[^\/}]+?)})+)(?:\/|$)/
|
91
91
|
|
92
92
|
return nil, url_pattern unless complex_resource_id_regex.match? url_pattern
|
93
93
|
|
@@ -29,7 +29,8 @@ module Gapic
|
|
29
29
|
# @return [Array<PositionalSegment|ResourceIdSegment|CollectionIdSegment>]
|
30
30
|
# The parsed segments of the path pattern
|
31
31
|
class Pattern
|
32
|
-
attr_reader :path_pattern
|
32
|
+
attr_reader :path_pattern
|
33
|
+
attr_reader :segments
|
33
34
|
|
34
35
|
def initialize path_pattern, segments
|
35
36
|
@path_pattern = path_pattern
|
@@ -29,7 +29,10 @@ module Gapic
|
|
29
29
|
# @return [String] The pattern of the segment, for the positional segment it is also
|
30
30
|
# a pattern of its resource
|
31
31
|
class PositionalSegment
|
32
|
-
attr_reader :type
|
32
|
+
attr_reader :type
|
33
|
+
attr_reader :position
|
34
|
+
attr_reader :pattern
|
35
|
+
|
33
36
|
def initialize position, pattern
|
34
37
|
@type = :positional
|
35
38
|
@position = position
|
@@ -117,7 +120,10 @@ module Gapic
|
|
117
120
|
# @return [Array<String>] The resource patterns associated with
|
118
121
|
# the resource_names of this segment
|
119
122
|
class ResourceIdSegment
|
120
|
-
attr_reader :type
|
123
|
+
attr_reader :type
|
124
|
+
attr_reader :pattern
|
125
|
+
attr_reader :resource_names
|
126
|
+
attr_reader :resource_patterns
|
121
127
|
|
122
128
|
def initialize type, pattern, resource_names, resource_patterns = []
|
123
129
|
@type = type
|
@@ -216,7 +222,8 @@ module Gapic
|
|
216
222
|
# @return [String] The pattern of the segment, for the positional segment it is also
|
217
223
|
# a pattern of its resource
|
218
224
|
class CollectionIdSegment
|
219
|
-
attr_reader :type
|
225
|
+
attr_reader :type
|
226
|
+
attr_reader :pattern
|
220
227
|
|
221
228
|
def initialize pattern
|
222
229
|
@type = :collection_id
|
data/lib/gapic/presenters.rb
CHANGED
@@ -21,10 +21,12 @@ require "gapic/presenters/file_presenter"
|
|
21
21
|
require "gapic/presenters/gem_presenter"
|
22
22
|
require "gapic/presenters/message_presenter"
|
23
23
|
require "gapic/presenters/method_presenter"
|
24
|
+
require "gapic/presenters/method_rest_presenter"
|
24
25
|
require "gapic/presenters/package_presenter"
|
25
26
|
require "gapic/presenters/resource_presenter"
|
26
27
|
require "gapic/presenters/sample_presenter"
|
27
28
|
require "gapic/presenters/service_presenter"
|
29
|
+
require "gapic/presenters/service_rest_presenter"
|
28
30
|
|
29
31
|
module Gapic
|
30
32
|
##
|
@@ -88,6 +88,10 @@ module Gapic
|
|
88
88
|
@field.repeated?
|
89
89
|
end
|
90
90
|
|
91
|
+
def required?
|
92
|
+
@field.required?
|
93
|
+
end
|
94
|
+
|
91
95
|
def map?
|
92
96
|
@field.map?
|
93
97
|
end
|
@@ -100,6 +104,34 @@ module Gapic
|
|
100
104
|
@message.oneof_decl[@field.oneof_index].name
|
101
105
|
end
|
102
106
|
|
107
|
+
##
|
108
|
+
# Returns a stringified default value for the protobuf types
|
109
|
+
# that are possible to fit into the query string parameter
|
110
|
+
# and nil for the other types (e.g. Messages)
|
111
|
+
#
|
112
|
+
# @return [String, nil]
|
113
|
+
#
|
114
|
+
def default_value_for_type
|
115
|
+
if @field.message?
|
116
|
+
nil
|
117
|
+
elsif @field.enum?
|
118
|
+
":#{@field.enum.values.first.name}"
|
119
|
+
else
|
120
|
+
case @field.type
|
121
|
+
when 1, 2, 3, 4, 5, 6, 7, 13, 15, 16, 17, 18 then "0" # floating point or integer
|
122
|
+
when 9, 12 then "\"\""
|
123
|
+
when 8 then "false"
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
##
|
129
|
+
# Name of this field, camel-cased
|
130
|
+
# @return [String]
|
131
|
+
def camel_name
|
132
|
+
camel_name_for name
|
133
|
+
end
|
134
|
+
|
103
135
|
protected
|
104
136
|
|
105
137
|
def field_doc_types field, output
|
@@ -161,6 +193,18 @@ module Gapic
|
|
161
193
|
def message_ruby_type message
|
162
194
|
ruby_namespace @api, message.address.join(".")
|
163
195
|
end
|
196
|
+
|
197
|
+
##
|
198
|
+
# Converts a snake_case parameter name into camelCase for query string parameters
|
199
|
+
# @param attr_name [String]
|
200
|
+
# @return [String] camel-cased parameter name
|
201
|
+
def camel_name_for attr_name
|
202
|
+
parts = attr_name.split "_"
|
203
|
+
first_part = parts[0]
|
204
|
+
other_parts = parts[1..-1]
|
205
|
+
other_parts_pascal = other_parts.map(&:capitalize).join
|
206
|
+
"#{first_part}#{other_parts_pascal}"
|
207
|
+
end
|
164
208
|
end
|
165
209
|
end
|
166
210
|
end
|
@@ -32,6 +32,9 @@ module Gapic
|
|
32
32
|
@api = api
|
33
33
|
end
|
34
34
|
|
35
|
+
##
|
36
|
+
# @return [Enumerable<Gapic::Presenters::PackagePresenter>]
|
37
|
+
#
|
35
38
|
def packages
|
36
39
|
@packages ||= begin
|
37
40
|
packages = @api.generate_files.map(&:package).uniq.sort
|
@@ -180,7 +183,7 @@ module Gapic
|
|
180
183
|
end
|
181
184
|
|
182
185
|
def dependencies
|
183
|
-
deps = { "gapic-common" => "~> 0.
|
186
|
+
deps = { "gapic-common" => "~> 0.4" }
|
184
187
|
deps["grpc-google-iam-v1"] = [">= 0.6.10", "< 2.0"] if iam_dependency?
|
185
188
|
extra_deps = gem_config :extra_dependencies
|
186
189
|
deps.merge! extra_deps if extra_deps
|
@@ -15,7 +15,6 @@
|
|
15
15
|
# limitations under the License.
|
16
16
|
|
17
17
|
require "active_support/inflector"
|
18
|
-
require "gapic/uri_template"
|
19
18
|
require "gapic/ruby_info"
|
20
19
|
require "gapic/helpers/namespace_helper"
|
21
20
|
|
@@ -27,12 +26,26 @@ module Gapic
|
|
27
26
|
class MethodPresenter
|
28
27
|
include Gapic::Helpers::NamespaceHelper
|
29
28
|
|
29
|
+
# @return [Gapic::Schema::Method]
|
30
|
+
attr_accessor :method
|
31
|
+
|
32
|
+
# @return [Gapic::Presenters::MethodRestPresenter]
|
33
|
+
attr_accessor :rest
|
34
|
+
|
35
|
+
##
|
36
|
+
# @param service_presenter [Gapic::Presenters::ServicePresenter]
|
37
|
+
# @param api [Gapic::Schema::Api]
|
38
|
+
# @param method [Gapic::Schema::Method]
|
30
39
|
def initialize service_presenter, api, method
|
31
40
|
@service_presenter = service_presenter
|
32
41
|
@api = api
|
33
42
|
@method = method
|
43
|
+
@rest = MethodRestPresenter.new self
|
34
44
|
end
|
35
45
|
|
46
|
+
##
|
47
|
+
# @return [Gapic::Presenters::ServicePresenter]
|
48
|
+
#
|
36
49
|
def service
|
37
50
|
@service_presenter
|
38
51
|
end
|
@@ -195,15 +208,17 @@ module Gapic
|
|
195
208
|
end
|
196
209
|
|
197
210
|
##
|
198
|
-
#
|
199
211
|
# @return [Array<String>] The segment key names.
|
200
212
|
#
|
201
213
|
def routing_params
|
202
|
-
|
214
|
+
rest.routing_params
|
203
215
|
end
|
204
216
|
|
217
|
+
##
|
218
|
+
# @return [Boolean] Whether any routing params are present
|
219
|
+
#
|
205
220
|
def routing_params?
|
206
|
-
routing_params
|
221
|
+
rest.routing_params?
|
207
222
|
end
|
208
223
|
|
209
224
|
def grpc_service_config
|
@@ -217,6 +232,19 @@ module Gapic
|
|
217
232
|
@method.name
|
218
233
|
end
|
219
234
|
|
235
|
+
##
|
236
|
+
# Returns a hash with a drift_manifest of this rpc method
|
237
|
+
# describing correspondence between the proto description
|
238
|
+
# of the rpc with the generated code for the method.
|
239
|
+
# For ruby currently [03/2021] only one method is generated per RPC,
|
240
|
+
# so the correspondence is very basic.
|
241
|
+
# See https://github.com/googleapis/googleapis/blob/master/gapic/metadata/gapic_metadata.proto
|
242
|
+
#
|
243
|
+
# @return [Hash]
|
244
|
+
def drift_manifest
|
245
|
+
{ methods: [name] }
|
246
|
+
end
|
247
|
+
|
220
248
|
protected
|
221
249
|
|
222
250
|
def message_ruby_type message
|
@@ -266,18 +294,6 @@ module Gapic
|
|
266
294
|
end
|
267
295
|
end
|
268
296
|
|
269
|
-
def method_path
|
270
|
-
return "" if @method.http.nil?
|
271
|
-
|
272
|
-
method = [
|
273
|
-
@method.http.get, @method.http.post, @method.http.put,
|
274
|
-
@method.http.patch, @method.http.delete
|
275
|
-
].find { |x| !x.empty? }
|
276
|
-
return method unless method.nil?
|
277
|
-
|
278
|
-
return @method.http.custom.path unless @method.http.custom.nil?
|
279
|
-
end
|
280
|
-
|
281
297
|
def paged_request? request
|
282
298
|
page_token = request.fields.find do |f|
|
283
299
|
f.name == "page_token" && f.type == Google::Protobuf::FieldDescriptorProto::Type::TYPE_STRING
|