gapic-generator 0.7.5 → 0.10.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +45 -0
- data/lib/gapic/generator/version.rb +1 -1
- data/lib/gapic/generators/default_generator.rb +11 -1
- data/lib/gapic/generators/default_generator_parameters.rb +3 -1
- data/lib/gapic/presenters.rb +2 -0
- data/lib/gapic/presenters/gem_presenter.rb +63 -10
- data/lib/gapic/presenters/method/rest_pagination_info.rb +246 -0
- data/lib/gapic/presenters/method_presenter.rb +21 -2
- data/lib/gapic/presenters/method_rest_presenter.rb +70 -4
- data/lib/gapic/presenters/resource_presenter.rb +8 -0
- data/lib/gapic/presenters/service_config_presenter.rb +48 -0
- data/lib/gapic/presenters/service_presenter.rb +69 -0
- data/lib/gapic/presenters/service_rest_presenter.rb +36 -28
- data/lib/gapic/presenters/snippet_presenter.rb +103 -0
- data/lib/gapic/schema/api.rb +32 -8
- data/lib/gapic/schema/request_param_parser.rb +2 -2
- data/lib/gapic/schema/wrappers.rb +26 -0
- data/templates/default/gem/readme.erb +3 -3
- data/templates/default/lib/rest/_rest.erb +0 -2
- data/templates/default/service/client/_client.erb +18 -20
- data/templates/default/service/client/_config.erb +13 -14
- data/templates/default/service/client/_credentials.erb +2 -0
- data/templates/default/service/client/_operations.erb +1 -1
- data/templates/default/service/client/_paths.erb +1 -1
- data/templates/default/service/client/_self_configure_defaults.erb +2 -2
- data/templates/default/service/client/method/_def.erb +2 -0
- data/templates/default/service/client/method/def/_options_defaults.erb +3 -1
- data/templates/default/service/client/method/docs/_deprecated.erb +5 -0
- data/templates/default/service/client/method/docs/_snippets.erb +6 -0
- data/templates/default/service/rest/client/_client.erb +15 -24
- data/templates/default/service/rest/client/_config.erb +48 -0
- data/templates/default/service/rest/client/method/_def.erb +1 -1
- data/templates/default/service/rest/client/method/def/_options_defaults.erb +7 -3
- data/templates/default/service/rest/client/method/def/_response.erb +6 -0
- data/templates/default/service/rest/client/method/def/_response_normal.erb +4 -15
- data/templates/default/service/rest/client/method/def/_response_paged.erb +7 -0
- data/templates/default/service/rest/client/method/docs/_result.erb +3 -3
- data/templates/default/service/rest/service_stub.erb +6 -0
- data/templates/default/service/rest/service_stub/_service_stub.erb +25 -0
- data/templates/default/service/rest/{grpc_transcoding/method → service_stub/grpc_transcoding_method}/_def.erb +4 -1
- data/templates/default/service/rest/{grpc_transcoding/method → service_stub/grpc_transcoding_method}/def/_query_string_param.erb +0 -0
- data/templates/default/service/rest/service_stub/method/_def.erb +20 -0
- data/templates/default/service/rest/service_stub/method/def/_request.erb +2 -0
- data/templates/default/service/rest/service_stub/method/def/_response.erb +17 -0
- data/templates/default/service/rest/test/client.erb +18 -0
- data/templates/default/service/rest/test/method/_assert_response.erb +2 -0
- data/templates/default/service/rest/test/method/_configure.erb +19 -0
- data/templates/default/service/rest/test/method/_normal.erb +71 -0
- data/templates/default/service/rest/test/method/_setup.erb +38 -0
- data/templates/default/service/test/client_paths.erb +1 -1
- data/templates/default/snippets/gemfile.erb +17 -0
- data/templates/default/snippets/snippet/_structure.erb +71 -0
- data/templates/default/snippets/standalone.erb +6 -0
- metadata +29 -12
- data/templates/default/service/client/_self_configure_retry_policy.erb +0 -15
- data/templates/default/service/rest/client/_requires.erb +0 -1
- data/templates/default/service/rest/grpc_transcoding/_grpc_transcoding.erb +0 -9
@@ -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
|
@@ -7,7 +7,7 @@ require "gapic/grpc/service_stub"
|
|
7
7
|
require "<%= service.service_require %>"
|
8
8
|
|
9
9
|
class <%= service.client_name_full %>PathsTest < Minitest::Test
|
10
|
-
<%- service.
|
10
|
+
<%- service.deduped_references.each do |resource| -%>
|
11
11
|
<%= indent render(partial: "service/test/resource",
|
12
12
|
locals: { resource: resource, service: service }), 2 %>
|
13
13
|
|
@@ -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 -%>
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gapic-generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ernest Landrito
|
8
8
|
- Chris Smith
|
9
9
|
- Mike Moore
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2021-
|
13
|
+
date: 2021-08-09 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: actionpack
|
@@ -152,7 +152,7 @@ dependencies:
|
|
152
152
|
- - "~>"
|
153
153
|
- !ruby/object:Gem::Version
|
154
154
|
version: '0.9'
|
155
|
-
description:
|
155
|
+
description:
|
156
156
|
email:
|
157
157
|
- landrito@google.com
|
158
158
|
- quartzmo@gmail.com
|
@@ -215,13 +215,16 @@ files:
|
|
215
215
|
- lib/gapic/presenters/file_presenter.rb
|
216
216
|
- lib/gapic/presenters/gem_presenter.rb
|
217
217
|
- lib/gapic/presenters/message_presenter.rb
|
218
|
+
- lib/gapic/presenters/method/rest_pagination_info.rb
|
218
219
|
- lib/gapic/presenters/method_presenter.rb
|
219
220
|
- lib/gapic/presenters/method_rest_presenter.rb
|
220
221
|
- lib/gapic/presenters/package_presenter.rb
|
221
222
|
- lib/gapic/presenters/resource_presenter.rb
|
222
223
|
- lib/gapic/presenters/sample_presenter.rb
|
224
|
+
- lib/gapic/presenters/service_config_presenter.rb
|
223
225
|
- lib/gapic/presenters/service_presenter.rb
|
224
226
|
- lib/gapic/presenters/service_rest_presenter.rb
|
227
|
+
- lib/gapic/presenters/snippet_presenter.rb
|
225
228
|
- lib/gapic/resource_lookup.rb
|
226
229
|
- lib/gapic/ruby_info.rb
|
227
230
|
- lib/gapic/runner.rb
|
@@ -284,7 +287,6 @@ files:
|
|
284
287
|
- templates/default/service/client/_resource.erb
|
285
288
|
- templates/default/service/client/_self_configure.erb
|
286
289
|
- templates/default/service/client/_self_configure_defaults.erb
|
287
|
-
- templates/default/service/client/_self_configure_retry_policy.erb
|
288
290
|
- templates/default/service/client/method/_def.erb
|
289
291
|
- templates/default/service/client/method/def/_options_defaults.erb
|
290
292
|
- templates/default/service/client/method/def/_request.erb
|
@@ -294,6 +296,7 @@ files:
|
|
294
296
|
- templates/default/service/client/method/def/_response.erb
|
295
297
|
- templates/default/service/client/method/def/_response_normal.erb
|
296
298
|
- templates/default/service/client/method/def/_response_paged.erb
|
299
|
+
- templates/default/service/client/method/docs/_deprecated.erb
|
297
300
|
- templates/default/service/client/method/docs/_error.erb
|
298
301
|
- templates/default/service/client/method/docs/_request.erb
|
299
302
|
- templates/default/service/client/method/docs/_request_field.erb
|
@@ -303,6 +306,7 @@ files:
|
|
303
306
|
- templates/default/service/client/method/docs/_sample.erb
|
304
307
|
- templates/default/service/client/method/docs/_sample_response.erb
|
305
308
|
- templates/default/service/client/method/docs/_samples.erb
|
309
|
+
- templates/default/service/client/method/docs/_snippets.erb
|
306
310
|
- templates/default/service/client/method/docs/request_field/_arg.erb
|
307
311
|
- templates/default/service/client/method/docs/request_field/_hash.erb
|
308
312
|
- templates/default/service/client/method/docs/sample_response/_comment.erb
|
@@ -321,18 +325,28 @@ files:
|
|
321
325
|
- templates/default/service/rest/client.erb
|
322
326
|
- templates/default/service/rest/client/_client.erb
|
323
327
|
- templates/default/service/rest/client/_config.erb
|
324
|
-
- templates/default/service/rest/client/_requires.erb
|
325
328
|
- templates/default/service/rest/client/method/_def.erb
|
326
329
|
- templates/default/service/rest/client/method/def/_options_defaults.erb
|
327
330
|
- templates/default/service/rest/client/method/def/_rescue.erb
|
331
|
+
- templates/default/service/rest/client/method/def/_response.erb
|
328
332
|
- templates/default/service/rest/client/method/def/_response_normal.erb
|
333
|
+
- templates/default/service/rest/client/method/def/_response_paged.erb
|
329
334
|
- templates/default/service/rest/client/method/docs/_error.erb
|
330
335
|
- templates/default/service/rest/client/method/docs/_request.erb
|
331
336
|
- templates/default/service/rest/client/method/docs/_result.erb
|
332
337
|
- templates/default/service/rest/grpc_transcoding.erb
|
333
|
-
- templates/default/service/rest/
|
334
|
-
- templates/default/service/rest/
|
335
|
-
- templates/default/service/rest/
|
338
|
+
- templates/default/service/rest/service_stub.erb
|
339
|
+
- templates/default/service/rest/service_stub/_service_stub.erb
|
340
|
+
- templates/default/service/rest/service_stub/grpc_transcoding_method/_def.erb
|
341
|
+
- templates/default/service/rest/service_stub/grpc_transcoding_method/def/_query_string_param.erb
|
342
|
+
- templates/default/service/rest/service_stub/method/_def.erb
|
343
|
+
- templates/default/service/rest/service_stub/method/def/_request.erb
|
344
|
+
- templates/default/service/rest/service_stub/method/def/_response.erb
|
345
|
+
- templates/default/service/rest/test/client.erb
|
346
|
+
- templates/default/service/rest/test/method/_assert_response.erb
|
347
|
+
- templates/default/service/rest/test/method/_configure.erb
|
348
|
+
- templates/default/service/rest/test/method/_normal.erb
|
349
|
+
- templates/default/service/rest/test/method/_setup.erb
|
336
350
|
- templates/default/service/test/_resource.erb
|
337
351
|
- templates/default/service/test/client.erb
|
338
352
|
- templates/default/service/test/client_operations.erb
|
@@ -348,11 +362,14 @@ files:
|
|
348
362
|
- templates/default/shared/_header.erb
|
349
363
|
- templates/default/shared/_license.erb
|
350
364
|
- templates/default/shared/_warning.erb
|
365
|
+
- templates/default/snippets/gemfile.erb
|
366
|
+
- templates/default/snippets/snippet/_structure.erb
|
367
|
+
- templates/default/snippets/standalone.erb
|
351
368
|
homepage: https://github.com/googleapis/gapic-generator-ruby
|
352
369
|
licenses:
|
353
370
|
- Apache-2.0
|
354
371
|
metadata: {}
|
355
|
-
post_install_message:
|
372
|
+
post_install_message:
|
356
373
|
rdoc_options: []
|
357
374
|
require_paths:
|
358
375
|
- lib
|
@@ -367,8 +384,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
367
384
|
- !ruby/object:Gem::Version
|
368
385
|
version: '0'
|
369
386
|
requirements: []
|
370
|
-
rubygems_version: 3.
|
371
|
-
signing_key:
|
387
|
+
rubygems_version: 3.2.22
|
388
|
+
signing_key:
|
372
389
|
specification_version: 4
|
373
390
|
summary: An API Client Generator for Ruby in Ruby!
|
374
391
|
test_files: []
|
@@ -1,15 +0,0 @@
|
|
1
|
-
<%- assert_locals retry_policy -%>
|
2
|
-
{
|
3
|
-
<%- if retry_policy.initial_delay_seconds -%>
|
4
|
-
initial_delay: <%= format_number retry_policy.initial_delay_seconds %>,
|
5
|
-
<%- end -%>
|
6
|
-
<%- if retry_policy.max_delay_seconds -%>
|
7
|
-
max_delay: <%= format_number retry_policy.max_delay_seconds %>,
|
8
|
-
<%- end -%>
|
9
|
-
<%- if retry_policy.multiplier -%>
|
10
|
-
multiplier: <%= format_number retry_policy.multiplier %>,
|
11
|
-
<%- end-%>
|
12
|
-
<%- if retry_policy.status_codes -%>
|
13
|
-
retry_codes: <%= retry_policy.status_codes %>
|
14
|
-
<%- end -%>
|
15
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
<%- assert_locals service -%>
|
@@ -1,9 +0,0 @@
|
|
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
|