gapic-generator 0.6.15 → 0.7.5
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 +33 -0
- data/bin/protoc-gen-ruby_gapic +5 -5
- 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/runner.rb +2 -1
- 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/lib/google/protobuf/any.pb.rb +1 -1
- data/lib/google/protobuf/compiler/plugin.pb.rb +9 -6
- data/lib/google/protobuf/descriptor.pb.rb +2 -2
- data/lib/google/protobuf/empty.pb.rb +1 -1
- 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
@@ -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,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 -%>
|
@@ -65,7 +65,7 @@ def test_<%= method.name %>
|
|
65
65
|
end
|
66
66
|
|
67
67
|
# Use protobuf object with options
|
68
|
-
client.<%= method.name %>
|
68
|
+
client.<%= method.name %>(<%= method.request_type %>.new(<%= fields.map(&:as_kwarg).join ", " %>), grpc_options) do |response, operation|
|
69
69
|
<%= indent_tail render(partial: "service/test/method/assert_response", locals: { method: method }), 6 %>
|
70
70
|
end
|
71
71
|
|
@@ -79,7 +79,7 @@ def test_<%= method.name %>
|
|
79
79
|
end
|
80
80
|
|
81
81
|
# Use protobuf object with options
|
82
|
-
client.<%= method.name %>
|
82
|
+
client.<%= method.name %>(<%= method.request_type %>.new(<%= fields.map(&:as_kwarg).join ", " %>), grpc_options) do |response, operation|
|
83
83
|
assert_kind_of Enumerable, response
|
84
84
|
response.to_a.each do |r|
|
85
85
|
assert_kind_of <%= method.return_type %>, r
|
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.
|
4
|
+
version: 0.7.5
|
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-
|
13
|
+
date: 2021-05-18 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: actionpack
|
@@ -46,28 +46,28 @@ dependencies:
|
|
46
46
|
requirements:
|
47
47
|
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 1.
|
49
|
+
version: 1.25.1
|
50
50
|
type: :development
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
54
|
- - "~>"
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: 1.
|
56
|
+
version: 1.25.1
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
58
|
name: grpc-tools
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
61
|
- - "~>"
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: 1.
|
63
|
+
version: 1.36.0
|
64
64
|
type: :development
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
68
|
- - "~>"
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: 1.
|
70
|
+
version: 1.36.0
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: minitest
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
@@ -216,10 +216,12 @@ 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
|
223
225
|
- lib/gapic/resource_lookup.rb
|
224
226
|
- lib/gapic/ruby_info.rb
|
225
227
|
- lib/gapic/runner.rb
|
@@ -263,6 +265,7 @@ files:
|
|
263
265
|
- templates/default/layouts/_ruby.erb
|
264
266
|
- templates/default/lib/_package.erb
|
265
267
|
- templates/default/lib/_service.erb
|
268
|
+
- templates/default/lib/rest/_rest.erb
|
266
269
|
- templates/default/package.erb
|
267
270
|
- templates/default/proto_docs/_enum.erb
|
268
271
|
- templates/default/proto_docs/_message.erb
|
@@ -314,6 +317,22 @@ files:
|
|
314
317
|
- templates/default/service/credentials.erb
|
315
318
|
- templates/default/service/operations.erb
|
316
319
|
- templates/default/service/paths.erb
|
320
|
+
- templates/default/service/rest.erb
|
321
|
+
- templates/default/service/rest/client.erb
|
322
|
+
- templates/default/service/rest/client/_client.erb
|
323
|
+
- templates/default/service/rest/client/_config.erb
|
324
|
+
- templates/default/service/rest/client/_requires.erb
|
325
|
+
- templates/default/service/rest/client/method/_def.erb
|
326
|
+
- templates/default/service/rest/client/method/def/_options_defaults.erb
|
327
|
+
- templates/default/service/rest/client/method/def/_rescue.erb
|
328
|
+
- templates/default/service/rest/client/method/def/_response_normal.erb
|
329
|
+
- templates/default/service/rest/client/method/docs/_error.erb
|
330
|
+
- templates/default/service/rest/client/method/docs/_request.erb
|
331
|
+
- templates/default/service/rest/client/method/docs/_result.erb
|
332
|
+
- templates/default/service/rest/grpc_transcoding.erb
|
333
|
+
- templates/default/service/rest/grpc_transcoding/_grpc_transcoding.erb
|
334
|
+
- templates/default/service/rest/grpc_transcoding/method/_def.erb
|
335
|
+
- templates/default/service/rest/grpc_transcoding/method/def/_query_string_param.erb
|
317
336
|
- templates/default/service/test/_resource.erb
|
318
337
|
- templates/default/service/test/client.erb
|
319
338
|
- templates/default/service/test/client_operations.erb
|
@@ -341,14 +360,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
341
360
|
requirements:
|
342
361
|
- - ">="
|
343
362
|
- !ruby/object:Gem::Version
|
344
|
-
version: '
|
363
|
+
version: '2.5'
|
345
364
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
346
365
|
requirements:
|
347
366
|
- - ">="
|
348
367
|
- !ruby/object:Gem::Version
|
349
368
|
version: '0'
|
350
369
|
requirements: []
|
351
|
-
rubygems_version: 3.1.
|
370
|
+
rubygems_version: 3.1.6
|
352
371
|
signing_key:
|
353
372
|
specification_version: 4
|
354
373
|
summary: An API Client Generator for Ruby in Ruby!
|