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