gapic-generator 0.7.0 → 0.8.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.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +41 -0
  3. data/lib/gapic/generator/version.rb +1 -1
  4. data/lib/gapic/generators/default_generator.rb +18 -5
  5. data/lib/gapic/generators/default_generator_parameters.rb +8 -4
  6. data/lib/gapic/presenters.rb +3 -0
  7. data/lib/gapic/presenters/field_presenter.rb +44 -0
  8. data/lib/gapic/presenters/gem_presenter.rb +47 -10
  9. data/lib/gapic/presenters/method_presenter.rb +36 -16
  10. data/lib/gapic/presenters/method_rest_presenter.rb +194 -0
  11. data/lib/gapic/presenters/package_presenter.rb +18 -0
  12. data/lib/gapic/presenters/service_presenter.rb +42 -4
  13. data/lib/gapic/presenters/service_rest_presenter.rb +139 -0
  14. data/lib/gapic/presenters/snippet_presenter.rb +103 -0
  15. data/lib/gapic/runner.rb +2 -1
  16. data/lib/gapic/schema/api.rb +58 -16
  17. data/lib/gapic/schema/request_param_parser.rb +46 -12
  18. data/lib/google/protobuf/any.pb.rb +1 -1
  19. data/lib/google/protobuf/compiler/plugin.pb.rb +9 -6
  20. data/lib/google/protobuf/descriptor.pb.rb +2 -2
  21. data/lib/google/protobuf/empty.pb.rb +1 -1
  22. data/templates/default/gem/readme.erb +2 -2
  23. data/templates/default/lib/_package.erb +11 -1
  24. data/templates/default/lib/_service.erb +31 -1
  25. data/templates/default/lib/rest/_rest.erb +11 -0
  26. data/templates/default/service/rest.erb +6 -0
  27. data/templates/default/service/rest/client.erb +6 -0
  28. data/templates/default/service/rest/client/_client.erb +115 -0
  29. data/templates/default/service/rest/client/_config.erb +74 -0
  30. data/templates/default/service/rest/client/_requires.erb +1 -0
  31. data/templates/default/service/rest/client/method/_def.erb +18 -0
  32. data/templates/default/service/rest/client/method/def/_options_defaults.erb +15 -0
  33. data/templates/default/service/rest/client/method/def/_rescue.erb +3 -0
  34. data/templates/default/service/rest/client/method/def/_response_normal.erb +17 -0
  35. data/templates/default/service/rest/client/method/docs/_error.erb +2 -0
  36. data/templates/default/service/rest/client/method/docs/_request.erb +27 -0
  37. data/templates/default/service/rest/client/method/docs/_result.erb +6 -0
  38. data/templates/default/service/rest/grpc_transcoding.erb +6 -0
  39. data/templates/default/service/rest/grpc_transcoding/_grpc_transcoding.erb +9 -0
  40. data/templates/default/service/rest/grpc_transcoding/method/_def.erb +21 -0
  41. data/templates/default/service/rest/grpc_transcoding/method/def/_query_string_param.erb +8 -0
  42. data/templates/default/service/rest/test/client.erb +18 -0
  43. data/templates/default/service/rest/test/method/_assert_response.erb +2 -0
  44. data/templates/default/service/rest/test/method/_configure.erb +19 -0
  45. data/templates/default/service/rest/test/method/_normal.erb +71 -0
  46. data/templates/default/service/rest/test/method/_setup.erb +38 -0
  47. data/templates/default/snippets/gemfile.erb +17 -0
  48. data/templates/default/snippets/snippet/_structure.erb +71 -0
  49. data/templates/default/snippets/standalone.erb +6 -0
  50. metadata +31 -3
@@ -0,0 +1 @@
1
+ <%- assert_locals service -%>
@@ -0,0 +1,18 @@
1
+ <%- assert_locals method -%>
2
+ ##
3
+ <%- if method.doc_description -%>
4
+ <%= indent method.doc_description, "# " %>
5
+ #
6
+ <%- end -%>
7
+ <%= render partial: "service/rest/client/method/docs/request", locals: { method: method } -%>
8
+ <%= render partial: "service/rest/client/method/docs/result", locals: { method: method } -%>
9
+ #
10
+ <%= render partial: "service/rest/client/method/docs/error", locals: { method: method } -%>
11
+ def <%= method.name %> request, options = nil
12
+ <%= indent render(partial: "service/client/method/def/request", locals: { method: method }), 2 %>
13
+
14
+ <%= indent render(partial: "service/rest/client/method/def/options_defaults", locals: { method: method }), 2 %>
15
+
16
+ <%= indent render(partial: "service/rest/client/method/def/response_normal", locals: { method: method }), 2 %>
17
+ <%= render partial: "service/rest/client/method/def/rescue", locals: { method: method } -%>
18
+ end
@@ -0,0 +1,15 @@
1
+ <%- assert_locals method -%>
2
+ # Converts hash and nil to an options object
3
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4
+
5
+ # Customize the options with defaults
6
+ call_metadata = {}
7
+
8
+ # Set x-goog-api-client header
9
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
10
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
11
+ gapic_version: ::<%= method.service.gem.version_name_full %>,
12
+ transports_version_send: [:rest]
13
+
14
+ options.apply_defaults timeout: @config.timeout,
15
+ metadata: call_metadata
@@ -0,0 +1,3 @@
1
+ <%- assert_locals method -%>
2
+ rescue ::Faraday::Error => e
3
+ raise ::Gapic::Rest::Error.wrap_faraday_error e
@@ -0,0 +1,17 @@
1
+ <%- assert_locals method -%>
2
+
3
+ uri, <%= method.rest.body_var_name %>, <%= method.rest.query_string_params_var_name %> = <%= method.rest.transcoding_helper_name %> request
4
+ response = @client_stub.make_<%= method.rest.verb %>_request(
5
+ uri: uri,
6
+ <%- if method.rest.body? -%>
7
+ body: body,
8
+ <%- end -%>
9
+ <%- if method.rest.query_string_params? -%>
10
+ params: query_string_params,
11
+ <%- end -%>
12
+ options: options
13
+ )
14
+ result = <%= method.return_type %>.decode_json response.body, ignore_unknown_fields: true
15
+
16
+ yield result, response if block_given?
17
+ result
@@ -0,0 +1,2 @@
1
+ <%- assert_locals method -%>
2
+ # @raise [::Gapic::Rest::Error] if the REST call is aborted.
@@ -0,0 +1,27 @@
1
+ <%- assert_locals method -%>
2
+ # @overload <%= method.name %>(request, options = nil)
3
+ # Pass arguments to `<%= method.name %>` via a request object, either of type
4
+ # {<%= method.request_type %>} or an equivalent Hash.
5
+ #
6
+ # @param request [<%= method.request_type %>, ::Hash]
7
+ # A request object representing the call parameters. Required. To specify no
8
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
9
+ # @param options [::Gapic::CallOptions, ::Hash]
10
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
11
+ # Note: currently retry functionality is not implemented. While it is possible
12
+ # to set it using ::Gapic::CallOptions, it will not be applied
13
+ <%-if method.arguments.any?-%>
14
+ #
15
+ <%- arg_list = method.arguments.map { |arg| "#{arg.name}: nil"}.join ", " -%>
16
+ # @overload <%= method.name %>(<%= arg_list %>)
17
+ # Pass arguments to `<%= method.name %>` via keyword arguments. Note that at
18
+ # least one keyword argument is required. To specify no parameters, or to keep all
19
+ # the default parameter values, pass an empty Hash as a request object (see above).
20
+ #
21
+ <%- method.arguments.each do |arg| -%>
22
+ # @param <%= arg.name %> [<%= arg.doc_types %>]
23
+ <%- if arg.doc_description -%>
24
+ <%= indent arg.doc_description, "# " %>
25
+ <%- end -%>
26
+ <%- end -%>
27
+ <%- end -%>
@@ -0,0 +1,6 @@
1
+ <%- assert_locals method -%>
2
+ # @yield [result, env] Access the result along with the Faraday environment object
3
+ # @yieldparam result [<%= method.doc_response_type %>]
4
+ # @yieldparam response [::Faraday::Response]
5
+ #
6
+ # @return [<%= method.doc_response_type %>]
@@ -0,0 +1,6 @@
1
+ <%- assert_locals service -%>
2
+ <%= render partial: "service/rest/grpc_transcoding/grpc_transcoding",
3
+ layout: "layouts/ruby",
4
+ locals: { service: service,
5
+ namespace: service.rest.service_name_full }
6
+ %>
@@ -0,0 +1,9 @@
1
+ <%- assert_locals service -%>
2
+ # GRPC transcoding helper methods for the <%= service.name %> REST API.
3
+ module GrpcTranscoding
4
+ <%- service.methods.each do |method| -%>
5
+
6
+ <%= indent_tail render(partial: "service/rest/grpc_transcoding/method/def", locals: { method: method }), 2 %>
7
+ <%- end %>
8
+ extend self
9
+ end
@@ -0,0 +1,21 @@
1
+ <%- assert_locals method -%>
2
+ # @param request_pb [<%= method.request_type %>]
3
+ # A request object representing the call parameters. Required.
4
+ # @return [Array(String, [String, nil], Hash{String => String})]
5
+ # Uri, Body, Query string parameters
6
+ def <%= method.rest.transcoding_helper_name %> request_pb
7
+ uri = "<%= method.rest.uri_interpolated %>"
8
+ <%- if method.rest.body? -%>
9
+ body = <%= method.rest.body_interpolated %>
10
+ <%- else -%>
11
+ body = nil
12
+ <%- end -%>
13
+ query_string_params = {}
14
+ <%- if method.rest.query_string_params? -%>
15
+ <%- method.rest.query_string_params.each do |field| -%>
16
+ <%= render partial: "service/rest/grpc_transcoding/method/def/query_string_param", locals: { field: field } -%>
17
+ <%- end -%>
18
+ <%- end -%>
19
+
20
+ [uri, body, query_string_params]
21
+ end
@@ -0,0 +1,8 @@
1
+ <%- assert_locals field -%>
2
+ <%- field_name_interpolated = "request_pb.#{field.name}" -%>
3
+ <%- has_field_name_interpolated = "request_pb.has_#{field.name}?" -%>
4
+ <%- if field.proto3_optional? -%>
5
+ query_string_params["<%= field.camel_name %>"] = <%= field_name_interpolated %>.to_s if <%= has_field_name_interpolated %>
6
+ <%- else -%>
7
+ query_string_params["<%= field.camel_name %>"] = <%= field_name_interpolated %>.to_s
8
+ <%- end -%>
@@ -0,0 +1,18 @@
1
+ <%- assert_locals service -%>
2
+ <%= render partial: "shared/header" %>
3
+ require "helper"
4
+
5
+ require "<%= service.proto_service_require %>"
6
+ require "<%= service.service_require %>"
7
+
8
+
9
+ class <%= service.client_name_full %>Test < Minitest::Test
10
+ <%= indent render(partial: "service/rest/test/method/setup"), 2 %>
11
+
12
+ <% service.methods.each do |method| %>
13
+ <%= indent render(partial: "service/rest/test/method/#{method.kind}",
14
+ locals: { method: method }), 2 %>
15
+
16
+ <% end %>
17
+ <%= indent render(partial: "service/rest/test/method/configure", locals: { service: service }), 2 %>
18
+ end
@@ -0,0 +1,2 @@
1
+ <%- assert_locals method -%>
2
+ assert_equal http_response, response
@@ -0,0 +1,19 @@
1
+ <%- assert_locals service -%>
2
+ <%- full_client_name = defined?(client_name_full) ? client_name_full : service.rest.client_name_full -%>
3
+ def test_configure
4
+ credentials_token = :dummy_value
5
+
6
+ client = block_config = config = nil
7
+ Gapic::Rest::ClientStub.stub :new, nil do
8
+ client = <%= full_client_name =%>.new do |config|
9
+ config.credentials = credentials_token
10
+ end
11
+ end
12
+
13
+ config = client.configure do |c|
14
+ block_config = c
15
+ end
16
+
17
+ assert_same block_config, config
18
+ assert_kind_of <%= full_client_name %>::Configuration, config
19
+ end
@@ -0,0 +1,71 @@
1
+ <%- assert_locals method -%>
2
+ <%- full_client_name = defined?(client_name_full) ? client_name_full : method.service.rest.client_name_full -%>
3
+ <%- fields = method.fields_with_first_oneof -%>
4
+ def test_<%= method.name %>
5
+ # Create test objects.
6
+ client_result = <%= method.return_type %>.new
7
+ http_response = OpenStruct.new body: client_result.to_json
8
+
9
+ call_options = {}
10
+
11
+ # Create request parameters for a unary method.
12
+ <%- fields.each do |field| -%>
13
+ <%= field.name %> = <%= field.default_value %>
14
+ <%- end -%>
15
+
16
+ <%= method.name %>_client_stub = ClientStub.new http_response do |verb, uri:, body:, params:, options:|
17
+ assert_equal :<%= method.rest.verb %>, verb
18
+
19
+ assert options.metadata.key? :"x-goog-api-client"
20
+ assert options.metadata[:"x-goog-api-client"].include? "rest"
21
+ refute options.metadata[:"x-goog-api-client"].include? "grpc"
22
+
23
+ <%- if method.rest.query_string_params? -%>
24
+ <%- method.rest.query_string_params.each do |field| -%>
25
+ assert params.key? "<%= field.camel_name %>"
26
+ <%- end -%>
27
+ <%- end -%>
28
+ <%- if method.rest.body? %>
29
+ refute_nil body
30
+ <%- else -%>
31
+ assert_nil body
32
+ <%- end -%>
33
+ end
34
+
35
+ Gapic::Rest::ClientStub.stub :new, <%= method.name %>_client_stub do
36
+ # Create client
37
+ client = <%= full_client_name %>.new do |config|
38
+ config.credentials = :dummy_value
39
+ end
40
+
41
+ # Use hash object
42
+ client.<%= method.name %>({ <%= fields.map(&:as_kwarg).join ", " %> }) do |result, response|
43
+ <%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
44
+ end
45
+
46
+ <%- if fields.any? -%>
47
+ # Use named arguments
48
+ client.<%= method.name %> <%= fields.map(&:as_kwarg).join ", " %> do |result, response|
49
+ <%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
50
+ end
51
+
52
+ <%- end -%>
53
+ # Use protobuf object
54
+ client.<%= method.name %> <%= method.request_type %>.new(<%= fields.map(&:as_kwarg).join ", " %>) do |result, response|
55
+ <%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
56
+ end
57
+
58
+ # Use hash object with options
59
+ client.<%= method.name %>({ <%= fields.map(&:as_kwarg).join ", " %> }, call_options) do |result, response|
60
+ <%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
61
+ end
62
+
63
+ # Use protobuf object with options
64
+ client.<%= method.name %>(<%= method.request_type %>.new(<%= fields.map(&:as_kwarg).join ", " %>), call_options) do |result, response|
65
+ <%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
66
+ end
67
+
68
+ # Verify method calls
69
+ assert_equal <%= fields.any? ? 5 : 4 %>, <%= method.name %>_client_stub.call_count
70
+ end
71
+ end
@@ -0,0 +1,38 @@
1
+ class ClientStub
2
+ attr_accessor :call_count, :requests
3
+
4
+ def initialize response, &block
5
+ @response = response
6
+ @block = block
7
+ @call_count = 0
8
+ @requests = []
9
+ end
10
+
11
+ def make_get_request uri:, params: {}, options: {}
12
+ make_http_request :get, uri: uri, body: nil, params: params, options: options
13
+ end
14
+
15
+ def make_delete_request uri:, params: {}, options: {}
16
+ make_http_request :delete, uri: uri, body: nil, params: params, options: options
17
+ end
18
+
19
+ def make_post_request uri:, body: nil, params: {}, options: {}
20
+ make_http_request :post, uri: uri, body: body, params: params, options: options
21
+ end
22
+
23
+ def make_patch_request uri:, body:, params: {}, options: {}
24
+ make_http_request :patch, uri: uri, body: body, params: params, options: options
25
+ end
26
+
27
+ def make_put_request uri:, body:, params: {}, options: {}
28
+ make_http_request :put, uri: uri, body: body, params: params, options: options
29
+ end
30
+
31
+ def make_http_request *args, **kwargs
32
+ @call_count += 1
33
+
34
+ @requests << @block&.call(*args, **kwargs)
35
+
36
+ @response
37
+ end
38
+ end
@@ -0,0 +1,17 @@
1
+ <%- assert_locals gem -%>
2
+ <%= render partial: "shared/header" -%>
3
+
4
+ source "https://rubygems.org"
5
+
6
+ if ENV["GOOGLE_CLOUD_SAMPLES_TEST"] == "master"
7
+ gem "<%= gem.name %>", path: "../"
8
+ else
9
+ gem "<%= gem.name %>"
10
+ end
11
+
12
+ group :test do
13
+ gem "google-style", "~> 1.25.1"
14
+ gem "minitest", "~> 5.14"
15
+ gem "minitest-focus", "~> 1.1"
16
+ gem "minitest-hooks", "~> 1.5"
17
+ end
@@ -0,0 +1,71 @@
1
+ <%- assert_locals snippet -%>
2
+ require "<%= snippet.require_path %>"
3
+
4
+ # Create a client object. The client can be reused for multiple calls.
5
+ client = <%= snippet.client_type %>.new
6
+
7
+ <%- if snippet.bidi_streaming? -%>
8
+ # Create an input stream
9
+ input = Gapic::StreamInput.new
10
+
11
+ # Call the <%= snippet.method_name %> method to start streaming.
12
+ output = client.<%= snippet.method_name %> input
13
+
14
+ # Send requests on the stream. For each request, pass in keyword
15
+ # arguments to set fields. Be sure to close the stream when done.
16
+ input << <%= snippet.request_type %>.new
17
+ input << <%= snippet.request_type %>.new
18
+ input.close
19
+
20
+ # Handle streamed responses. These may be interleaved with inputs.
21
+ # Each response is of type <%= snippet.base_response_type %>.
22
+ output.each do |response|
23
+ p response
24
+ end
25
+ <%- else -%>
26
+ <%- if snippet.client_streaming? -%>
27
+ # Create a stream of requests, as an Enumerator.
28
+ # For each request, pass in keyword arguments to set fields.
29
+ request = [
30
+ <%= snippet.request_type %>.new,
31
+ <%= snippet.request_type %>.new
32
+ ].to_enum
33
+ <%- else -%>
34
+ # Create a request. To set request fields, pass in keyword arguments.
35
+ request = <%= snippet.request_type %>.new
36
+ <%- end -%>
37
+
38
+ # Call the <%= snippet.method_name %> method.
39
+ result = client.<%= snippet.method_name %> request
40
+
41
+ <%- case snippet.response_kind -%>
42
+ <%- when :lro -%>
43
+ # The returned object is of type Gapic::Operation. You can use this
44
+ # object to check the status of an operation, cancel it, or wait
45
+ # for results. Here is how to block until completion:
46
+ result.wait_until_done! timeout: 60
47
+ if result.response?
48
+ p result.response
49
+ else
50
+ puts "Error!"
51
+ end
52
+ <%- when :paged -%>
53
+ # The returned object is of type Gapic::PagedEnumerable. You can
54
+ # iterate over all elements by calling #each, and the enumerable
55
+ # will lazily make API calls to fetch subsequent pages. Other
56
+ # methods are also available for managing paging directly.
57
+ result.each do |response|
58
+ # Each element is of type <%= snippet.paged_response_type %>.
59
+ p response
60
+ end
61
+ <%- when :streaming -%>
62
+ # The returned object is a streamed enumerable yielding elements of
63
+ # type <%= snippet.base_response_type %>.
64
+ result.each do |response|
65
+ p response
66
+ end
67
+ <%- else -%>
68
+ # The returned object is of type <%= snippet.return_type %>.
69
+ p result
70
+ <%- end -%>
71
+ <%- end -%>
@@ -0,0 +1,6 @@
1
+ <%- assert_locals snippet -%>
2
+ <%= render partial: "shared/header" -%>
3
+
4
+ # [START <%= snippet.region_tag %>]
5
+ <%= render partial: "snippets/snippet/structure", locals: { snippet: snippet} -%>
6
+ # [END <%= snippet.region_tag %>]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gapic-generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ernest Landrito
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-02-27 00:00:00.000000000 Z
13
+ date: 2021-06-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: actionpack
@@ -216,10 +216,13 @@ files:
216
216
  - lib/gapic/presenters/gem_presenter.rb
217
217
  - lib/gapic/presenters/message_presenter.rb
218
218
  - lib/gapic/presenters/method_presenter.rb
219
+ - lib/gapic/presenters/method_rest_presenter.rb
219
220
  - lib/gapic/presenters/package_presenter.rb
220
221
  - lib/gapic/presenters/resource_presenter.rb
221
222
  - lib/gapic/presenters/sample_presenter.rb
222
223
  - lib/gapic/presenters/service_presenter.rb
224
+ - lib/gapic/presenters/service_rest_presenter.rb
225
+ - lib/gapic/presenters/snippet_presenter.rb
223
226
  - lib/gapic/resource_lookup.rb
224
227
  - lib/gapic/ruby_info.rb
225
228
  - lib/gapic/runner.rb
@@ -263,6 +266,7 @@ files:
263
266
  - templates/default/layouts/_ruby.erb
264
267
  - templates/default/lib/_package.erb
265
268
  - templates/default/lib/_service.erb
269
+ - templates/default/lib/rest/_rest.erb
266
270
  - templates/default/package.erb
267
271
  - templates/default/proto_docs/_enum.erb
268
272
  - templates/default/proto_docs/_message.erb
@@ -314,6 +318,27 @@ files:
314
318
  - templates/default/service/credentials.erb
315
319
  - templates/default/service/operations.erb
316
320
  - templates/default/service/paths.erb
321
+ - templates/default/service/rest.erb
322
+ - templates/default/service/rest/client.erb
323
+ - templates/default/service/rest/client/_client.erb
324
+ - templates/default/service/rest/client/_config.erb
325
+ - templates/default/service/rest/client/_requires.erb
326
+ - templates/default/service/rest/client/method/_def.erb
327
+ - templates/default/service/rest/client/method/def/_options_defaults.erb
328
+ - templates/default/service/rest/client/method/def/_rescue.erb
329
+ - templates/default/service/rest/client/method/def/_response_normal.erb
330
+ - templates/default/service/rest/client/method/docs/_error.erb
331
+ - templates/default/service/rest/client/method/docs/_request.erb
332
+ - templates/default/service/rest/client/method/docs/_result.erb
333
+ - templates/default/service/rest/grpc_transcoding.erb
334
+ - templates/default/service/rest/grpc_transcoding/_grpc_transcoding.erb
335
+ - templates/default/service/rest/grpc_transcoding/method/_def.erb
336
+ - templates/default/service/rest/grpc_transcoding/method/def/_query_string_param.erb
337
+ - templates/default/service/rest/test/client.erb
338
+ - templates/default/service/rest/test/method/_assert_response.erb
339
+ - templates/default/service/rest/test/method/_configure.erb
340
+ - templates/default/service/rest/test/method/_normal.erb
341
+ - templates/default/service/rest/test/method/_setup.erb
317
342
  - templates/default/service/test/_resource.erb
318
343
  - templates/default/service/test/client.erb
319
344
  - templates/default/service/test/client_operations.erb
@@ -329,6 +354,9 @@ files:
329
354
  - templates/default/shared/_header.erb
330
355
  - templates/default/shared/_license.erb
331
356
  - templates/default/shared/_warning.erb
357
+ - templates/default/snippets/gemfile.erb
358
+ - templates/default/snippets/snippet/_structure.erb
359
+ - templates/default/snippets/standalone.erb
332
360
  homepage: https://github.com/googleapis/gapic-generator-ruby
333
361
  licenses:
334
362
  - Apache-2.0
@@ -348,7 +376,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
348
376
  - !ruby/object:Gem::Version
349
377
  version: '0'
350
378
  requirements: []
351
- rubygems_version: 3.2.11
379
+ rubygems_version: 3.1.6
352
380
  signing_key:
353
381
  specification_version: 4
354
382
  summary: An API Client Generator for Ruby in Ruby!