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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/bin/protoc-gen-ruby_gapic +6 -6
  4. data/lib/gapic/file_formatter.rb +2 -1
  5. data/lib/gapic/formatting_utils.rb +4 -4
  6. data/lib/gapic/generator/version.rb +1 -1
  7. data/lib/gapic/generators/default_generator.rb +8 -5
  8. data/lib/gapic/generators/default_generator_parameters.rb +8 -4
  9. data/lib/gapic/grpc_service_config/method_config.rb +2 -1
  10. data/lib/gapic/grpc_service_config/retry_policy.rb +4 -1
  11. data/lib/gapic/grpc_service_config/service_config.rb +2 -1
  12. data/lib/gapic/path_pattern/parser.rb +1 -1
  13. data/lib/gapic/path_pattern/pattern.rb +2 -1
  14. data/lib/gapic/path_pattern/segment.rb +10 -3
  15. data/lib/gapic/presenters.rb +2 -0
  16. data/lib/gapic/presenters/field_presenter.rb +44 -0
  17. data/lib/gapic/presenters/gem_presenter.rb +4 -1
  18. data/lib/gapic/presenters/method_presenter.rb +32 -16
  19. data/lib/gapic/presenters/method_rest_presenter.rb +186 -0
  20. data/lib/gapic/presenters/package_presenter.rb +21 -3
  21. data/lib/gapic/presenters/resource_presenter.rb +2 -1
  22. data/lib/gapic/presenters/sample_presenter.rb +6 -1
  23. data/lib/gapic/presenters/service_presenter.rb +48 -10
  24. data/lib/gapic/presenters/service_rest_presenter.rb +157 -0
  25. data/lib/gapic/schema/api.rb +48 -19
  26. data/lib/gapic/schema/parameter_schema.rb +4 -1
  27. data/lib/gapic/schema/request_param_parser.rb +44 -10
  28. data/lib/gapic/schema/request_parameter.rb +5 -1
  29. data/lib/gapic/schema/wrappers.rb +31 -18
  30. data/lib/gapic/uri_template/parser.rb +4 -6
  31. data/templates/default/gem/gemspec.erb +2 -2
  32. data/templates/default/gem/readme.erb +2 -2
  33. data/templates/default/gem/rubocop.erb +2 -12
  34. data/templates/default/lib/_package.erb +11 -1
  35. data/templates/default/lib/_service.erb +31 -1
  36. data/templates/default/lib/rest/_rest.erb +11 -0
  37. data/templates/default/service/client/_config.erb +2 -2
  38. data/templates/default/service/rest.erb +6 -0
  39. data/templates/default/service/rest/client.erb +6 -0
  40. data/templates/default/service/rest/client/_client.erb +115 -0
  41. data/templates/default/service/rest/client/_config.erb +74 -0
  42. data/templates/default/service/rest/client/_requires.erb +1 -0
  43. data/templates/default/service/rest/client/method/_def.erb +18 -0
  44. data/templates/default/service/rest/client/method/def/_options_defaults.erb +14 -0
  45. data/templates/default/service/rest/client/method/def/_rescue.erb +3 -0
  46. data/templates/default/service/rest/client/method/def/_response_normal.erb +17 -0
  47. data/templates/default/service/rest/client/method/docs/_error.erb +2 -0
  48. data/templates/default/service/rest/client/method/docs/_request.erb +27 -0
  49. data/templates/default/service/rest/client/method/docs/_result.erb +6 -0
  50. data/templates/default/service/rest/grpc_transcoding.erb +6 -0
  51. data/templates/default/service/rest/grpc_transcoding/_grpc_transcoding.erb +9 -0
  52. data/templates/default/service/rest/grpc_transcoding/method/_def.erb +21 -0
  53. data/templates/default/service/rest/grpc_transcoding/method/def/_query_string_param.erb +8 -0
  54. data/templates/default/service/test/method/_normal.erb +1 -1
  55. data/templates/default/service/test/method/_server.erb +1 -1
  56. metadata +27 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f60a6a6ecef9fec2b409d2315e747ad7684917ddf2dfcd170c65bc27c75c97c2
4
- data.tar.gz: 1cc2af07ea8cb245160cc449a5c268310ee362a4239b268aff2be4f0ef63ae9c
3
+ metadata.gz: 521fdaba6a16a4e80df5aff2ea8c8de3d1edbd8800faae175f0b906f3990b369
4
+ data.tar.gz: 013d293b84fc4bd68ef5ca12ff7bb5e375889b90df6f4ec58f10a7f995329ac3
5
5
  SHA512:
6
- metadata.gz: b3c156a63cdb3241cfbd0cf4a470c795a103d749e2502a73bdc215961797636bcbc89aa7152678527e0d36d380c54ac1ca765c30761e7fe77ad7f19889bac7f3
7
- data.tar.gz: 789d09c785b46936121d3b9373abcb14cfdedd72ae684a36bf37336209be9a697f03087226ab276c48b67238ea7cc6508c3957cb2eb9d60fb4e75a9c3e6b1552
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
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env -S ruby --encoding UTF-8
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("../../lib", __FILE__)
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
- STDIN.binmode
26
- STDOUT.binmode
25
+ $stdin.binmode
26
+ $stdout.binmode
27
27
 
28
- request = Google::Protobuf::Compiler::CodeGeneratorRequest.decode STDIN.read
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
- STDOUT.print response.serialize
33
+ $stdout.print response.serialize
@@ -21,7 +21,8 @@ module Gapic
21
21
  ##
22
22
  # File Formatter
23
23
  class FileFormatter
24
- attr_reader :configuration, :files
24
+ attr_reader :configuration
25
+ attr_reader :files
25
26
 
26
27
  ##
27
28
  # Create a new file formatter object
@@ -21,9 +21,9 @@ module Gapic
21
21
  # Various string formatting utils
22
22
  #
23
23
  module FormattingUtils
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/
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)([_\.][_\.\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
@@ -16,6 +16,6 @@
16
16
 
17
17
  module Gapic
18
18
  module Generator
19
- VERSION = "0.6.14"
19
+ VERSION = "0.7.4"
20
20
  end
21
21
  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/client.erb", "lib/#{service.client_file_path}", service: 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/test/client.erb", "test/#{service.test_client_file_path}", service: 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 = {
@@ -23,7 +23,8 @@ module Gapic
23
23
  # client-side timeout/retry policy
24
24
  #
25
25
  class MethodConfig
26
- attr_reader :timeout_seconds, :retry_policy
26
+ attr_reader :timeout_seconds
27
+ attr_reader :retry_policy
27
28
 
28
29
  ##
29
30
  # Create new MethodConfig
@@ -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, :max_delay_seconds, :multiplier, :status_codes
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, :service_method_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>[_\-~\.]){(?<name_seq>[^\/}]+?)})+)(?:\/|$)/
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, :segments
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, :position, :pattern
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, :pattern, :resource_names, :resource_patterns
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, :pattern
225
+ attr_reader :type
226
+ attr_reader :pattern
220
227
 
221
228
  def initialize pattern
222
229
  @type = :collection_id
@@ -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.3" }
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
- Gapic::UriTemplate.parse_arguments method_path
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.any?
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