gapic-generator 0.6.15 → 0.7.5
Sign up to get free protection for your applications and to get access to all the features.
- 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!
|