gapic-generator 0.6.14 → 0.7.4
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 +31 -0
- data/bin/protoc-gen-ruby_gapic +6 -6
- 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/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/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
data/lib/gapic/schema/api.rb
CHANGED
@@ -39,7 +39,8 @@ module Gapic
|
|
39
39
|
# @return [Array<Enum>] The top level enums seen across all files in
|
40
40
|
# this API.
|
41
41
|
class Api
|
42
|
-
attr_accessor :request
|
42
|
+
attr_accessor :request
|
43
|
+
attr_accessor :files
|
43
44
|
|
44
45
|
# Initializes an API object with the file descriptors that represent the
|
45
46
|
# API.
|
@@ -50,7 +51,7 @@ module Gapic
|
|
50
51
|
# The request parameters schema to use
|
51
52
|
# @param error_output [IO] An IO to write any errors/warnings to.
|
52
53
|
# @param configuration [Hash] Optional override of configuration.
|
53
|
-
def initialize request, parameter_schema: nil, error_output:
|
54
|
+
def initialize request, parameter_schema: nil, error_output: $stderr, configuration: nil
|
54
55
|
@request = request
|
55
56
|
loader = Loader.new
|
56
57
|
@files = request.proto_file.map do |fd|
|
@@ -143,11 +144,9 @@ module Gapic
|
|
143
144
|
# @return [Array<Hash>]
|
144
145
|
# An array of the sample file hashes.
|
145
146
|
def samples
|
146
|
-
@samples ||=
|
147
|
-
|
148
|
-
|
149
|
-
end.compact
|
150
|
-
end
|
147
|
+
@samples ||= protoc_options["samples"].to_s.split(";").flat_map do |sample_path|
|
148
|
+
YAML.load_file sample_path
|
149
|
+
end.compact
|
151
150
|
end
|
152
151
|
|
153
152
|
# Structured representation of the standalone samples configuration files.
|
@@ -173,10 +172,10 @@ module Gapic
|
|
173
172
|
# An array of the standalone sample configuration hashes.
|
174
173
|
def standalone_test_samples
|
175
174
|
@standalone_test_samples ||= begin
|
176
|
-
samples.select { |sample| sample["type"] == "test/samples" }
|
177
|
-
|
178
|
-
|
179
|
-
|
175
|
+
test_samples = samples.select { |sample| sample["type"] == "test/samples" }
|
176
|
+
test_samples.select { |sample| sample["schema_version"] == "1" || sample["schema_version"] == 1 }
|
177
|
+
.map { |sample| sample["samples"] }
|
178
|
+
.flatten.compact
|
180
179
|
end
|
181
180
|
end
|
182
181
|
|
@@ -230,6 +229,24 @@ module Gapic
|
|
230
229
|
configuration[:generate_path_helpers_output] ||= false
|
231
230
|
end
|
232
231
|
|
232
|
+
# Whether to generate REST clients
|
233
|
+
def generate_rest_clients?
|
234
|
+
return false if configuration[:transports].nil?
|
235
|
+
configuration[:transports].include? "rest"
|
236
|
+
end
|
237
|
+
|
238
|
+
# Whether to generate GRPC clients
|
239
|
+
def generate_grpc_clients?
|
240
|
+
return true if configuration[:transports].nil?
|
241
|
+
configuration[:transports].include? "grpc"
|
242
|
+
end
|
243
|
+
|
244
|
+
# Whether to generate gapic metadata (drift manifest) file
|
245
|
+
# @return [Boolean]
|
246
|
+
def generate_metadata
|
247
|
+
configuration[:generate_metadata] ||= false
|
248
|
+
end
|
249
|
+
|
233
250
|
# Whether the override_proto_namespaces parameter was given in the configuration
|
234
251
|
def override_proto_namespaces_defined?
|
235
252
|
configuration.key? :override_proto_namespaces
|
@@ -259,9 +276,7 @@ module Gapic
|
|
259
276
|
|
260
277
|
# Parsed grpc service config
|
261
278
|
def grpc_service_config
|
262
|
-
@grpc_service_config ||=
|
263
|
-
Gapic::GrpcServiceConfig::Parser.parse grpc_service_config_raw
|
264
|
-
end
|
279
|
+
@grpc_service_config ||= Gapic::GrpcServiceConfig::Parser.parse grpc_service_config_raw
|
265
280
|
end
|
266
281
|
|
267
282
|
# Get a resource given its type string
|
@@ -271,10 +286,8 @@ module Gapic
|
|
271
286
|
|
272
287
|
# Given a service, find all common services that use it as a delegate.
|
273
288
|
def common_services_for delegate
|
274
|
-
@delegate_to_common ||=
|
275
|
-
(
|
276
|
-
(mapping[d] ||= []) << c
|
277
|
-
end
|
289
|
+
@delegate_to_common ||= (configuration[:common_services] || {}).each_with_object({}) do |(c, d), mapping|
|
290
|
+
(mapping[d] ||= []) << c
|
278
291
|
end
|
279
292
|
all_services = services
|
280
293
|
@delegate_to_common.fetch(delegate.address.join("."), []).map do |addr|
|
@@ -291,6 +304,22 @@ module Gapic
|
|
291
304
|
services.find { |s| s.address == addr }
|
292
305
|
end
|
293
306
|
|
307
|
+
##
|
308
|
+
# Whether configuration has an override for the wrapper gem name
|
309
|
+
# @return [Boolean]
|
310
|
+
def wrapper_gem_name_override?
|
311
|
+
configuration.key?(:overrides) &&
|
312
|
+
configuration[:overrides].key?(:wrapper_gem_name)
|
313
|
+
end
|
314
|
+
|
315
|
+
##
|
316
|
+
# An override for the wrapper gem name in the configuration
|
317
|
+
# @return [String, Nil]
|
318
|
+
def wrapper_gem_name_override
|
319
|
+
return nil unless wrapper_gem_name_override?
|
320
|
+
configuration[:overrides][:wrapper_gem_name]
|
321
|
+
end
|
322
|
+
|
294
323
|
private
|
295
324
|
|
296
325
|
# Perform a variety of sanity checks on the data, and prints errors to
|
@@ -359,7 +388,7 @@ module Gapic
|
|
359
388
|
# split the string on periods, but map backslash-escaped periods to
|
360
389
|
# literal periods.
|
361
390
|
def parse_key str
|
362
|
-
str.scan(/\.|\\.|[
|
391
|
+
str.scan(/\.|\\.|[^.\\]+/)
|
363
392
|
.each_with_object([String.new]) do |tok, arr|
|
364
393
|
if tok == "."
|
365
394
|
arr.append String.new
|
@@ -19,7 +19,10 @@ module Gapic
|
|
19
19
|
# Contains information about known parameter names
|
20
20
|
# and the types expected to be parsed from the request options string
|
21
21
|
class ParameterSchema
|
22
|
-
attr_accessor :bool_params
|
22
|
+
attr_accessor :bool_params
|
23
|
+
attr_accessor :string_params
|
24
|
+
attr_accessor :array_params
|
25
|
+
attr_accessor :map_params
|
23
26
|
|
24
27
|
# Creates a schema with given alias-parameter maps
|
25
28
|
# @param bool_params [Hash{String => String}]
|
@@ -67,14 +67,13 @@ module Gapic
|
|
67
67
|
param_name_input = unescape param_name_input_esc
|
68
68
|
param_type, param_config_name = param_schema.schema_name_type_for param_name_input
|
69
69
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
param_value = parse_param_value param_type, value_str
|
70
|
+
param_value = parse_validate_param_value(
|
71
|
+
param_type,
|
72
|
+
param_name_input,
|
73
|
+
param_config_name,
|
74
|
+
value_str,
|
75
|
+
error_output
|
76
|
+
)
|
78
77
|
|
79
78
|
if param_value
|
80
79
|
RequestParameter.new param_val_input_str, param_name_input_esc, value_str, param_config_name, param_value
|
@@ -92,13 +91,48 @@ module Gapic
|
|
92
91
|
|
93
92
|
private
|
94
93
|
|
94
|
+
# Parses and validates param value depending on type and name
|
95
|
+
# @param param_type [Symbol] type of the parameter
|
96
|
+
# @param param_name_input [String] name of the parameter as given in the config
|
97
|
+
# @param param_config_name [String] canonical configuration name of the parameter
|
98
|
+
# @param value_str [String] string representation of parameter's value
|
99
|
+
# @param error_output [IO] Stream to write outputs to.
|
100
|
+
# @return [String,Array<String>,Hash{String => String}]
|
101
|
+
def parse_validate_param_value param_type, param_name_input, param_config_name, value_str, error_output
|
102
|
+
if param_type == :bool && !["true", "false"].include?(unescape(value_str))
|
103
|
+
error_str = "WARNING: parameter #{param_name_input} (recognised as bool " \
|
104
|
+
"#{param_config_name}) will be discarded because of " \
|
105
|
+
"invalid value. Value should be either 'true' or 'false'."
|
106
|
+
error_output&.puts error_str
|
107
|
+
end
|
108
|
+
|
109
|
+
param_value = parse_param_value param_type, value_str
|
110
|
+
|
111
|
+
if param_config_name == ":transports"
|
112
|
+
allowed_transports = ["grpc", "rest"]
|
113
|
+
noncompliant_values = param_value.reject { |pv| allowed_transports.include? pv }
|
114
|
+
if noncompliant_values.any?
|
115
|
+
noncompliant_values_list = noncompliant_values.join ", "
|
116
|
+
error_str = "WARNING: parameter #{param_name_input} (recognised as string array " \
|
117
|
+
"#{param_config_name}) will be discarded because "\
|
118
|
+
"it contains invalid values: #{noncompliant_values_list}. "\
|
119
|
+
"#{param_config_name} can only contain 'grpc' and/or 'rest' or be empty."
|
120
|
+
error_output&.puts error_str
|
121
|
+
param_value = nil
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
param_value
|
126
|
+
end
|
127
|
+
|
95
128
|
# Parses param value depending on type
|
96
|
-
# @param param_type [Symbol]
|
97
|
-
# @param value_str [String]
|
129
|
+
# @param param_type [Symbol] type of the parameter
|
130
|
+
# @param value_str [String] string representation of parameter's value
|
98
131
|
# @return [String,Array<String>,Hash{String => String}]
|
99
132
|
def parse_param_value param_type, value_str
|
100
133
|
case param_type
|
101
134
|
when :array
|
135
|
+
return [] if value_str.empty?
|
102
136
|
# elements in the arrays are concatenated by `;`
|
103
137
|
# e.g. foo;bar;baz
|
104
138
|
array_value_strings = split_by_unescaped value_str, ";"
|
@@ -19,7 +19,11 @@ module Gapic
|
|
19
19
|
# Encapsulates information that is parsed from a single command line parameter
|
20
20
|
# from the plugin_opt command line
|
21
21
|
class RequestParameter
|
22
|
-
attr_reader :input_str
|
22
|
+
attr_reader :input_str
|
23
|
+
attr_reader :input_name
|
24
|
+
attr_reader :input_value
|
25
|
+
attr_reader :config_name
|
26
|
+
attr_reader :config_value
|
23
27
|
|
24
28
|
# @param input_str [String] the input string containing parameter and value
|
25
29
|
# that the parameter and value were parsed from
|
@@ -80,7 +80,11 @@ module Gapic
|
|
80
80
|
# of locations could be recorded in the future.
|
81
81
|
class Proto
|
82
82
|
extend Forwardable
|
83
|
-
|
83
|
+
|
84
|
+
attr_reader :descriptor
|
85
|
+
attr_reader :address
|
86
|
+
attr_reader :docs
|
87
|
+
|
84
88
|
attr_accessor :parent
|
85
89
|
|
86
90
|
# Initializes a Proto object.
|
@@ -228,6 +232,7 @@ module Gapic
|
|
228
232
|
# @ return [Enumerable<Method>] The methods of this service.
|
229
233
|
class Service < Proto
|
230
234
|
extend Forwardable
|
235
|
+
|
231
236
|
attr_reader :methods
|
232
237
|
|
233
238
|
# Initializes a Service object.
|
@@ -292,7 +297,9 @@ module Gapic
|
|
292
297
|
# @ return [Message] The output message of this method.
|
293
298
|
class Method < Proto
|
294
299
|
extend Forwardable
|
295
|
-
|
300
|
+
|
301
|
+
attr_reader :input
|
302
|
+
attr_reader :output
|
296
303
|
|
297
304
|
# Initializes a method object.
|
298
305
|
# @param descriptor [Google::Protobuf::MethodDescriptorProto] the
|
@@ -370,7 +377,12 @@ module Gapic
|
|
370
377
|
# this file.
|
371
378
|
class File < Proto
|
372
379
|
extend Forwardable
|
373
|
-
|
380
|
+
|
381
|
+
attr_reader :messages
|
382
|
+
attr_reader :enums
|
383
|
+
attr_reader :services
|
384
|
+
attr_reader :resources
|
385
|
+
attr_reader :registry
|
374
386
|
|
375
387
|
# Initializes a message object.
|
376
388
|
# @param descriptor [Google::Protobuf::DescriptorProto] the protobuf
|
@@ -447,6 +459,7 @@ module Gapic
|
|
447
459
|
# @ return [EnumValue] the EnumValues contained in this file.
|
448
460
|
class Enum < Proto
|
449
461
|
extend Forwardable
|
462
|
+
|
450
463
|
attr_reader :values
|
451
464
|
|
452
465
|
# Initializes a message object.
|
@@ -479,17 +492,6 @@ module Gapic
|
|
479
492
|
class EnumValue < Proto
|
480
493
|
extend Forwardable
|
481
494
|
|
482
|
-
# Initializes a message object.
|
483
|
-
# @param descriptor [Google::Protobuf::DescriptorProto] the protobuf
|
484
|
-
# representation of this service.
|
485
|
-
# @param address [Enumerable<String>] The address of the proto. See
|
486
|
-
# #address for more info.
|
487
|
-
# @param docs [Google::Protobuf::SourceCodeInfo::Location] The docs
|
488
|
-
# of the proto. See #docs for more info.
|
489
|
-
def initialize descriptor, address, docs
|
490
|
-
super descriptor, address, docs
|
491
|
-
end
|
492
|
-
|
493
495
|
# @!method name
|
494
496
|
# @return [String] the unqualified name of the EnumValue
|
495
497
|
# @!method number
|
@@ -520,7 +522,12 @@ module Gapic
|
|
520
522
|
# @ return [Enumerable<Enum>] The nested enum declarations of a message.
|
521
523
|
class Message < Proto
|
522
524
|
extend Forwardable
|
523
|
-
|
525
|
+
|
526
|
+
attr_reader :fields
|
527
|
+
attr_reader :extensions
|
528
|
+
attr_reader :resource
|
529
|
+
attr_reader :nested_messages
|
530
|
+
attr_reader :nested_enums
|
524
531
|
|
525
532
|
# Initializes a message object.
|
526
533
|
# @param descriptor [Google::Protobuf::DescriptorProto] the protobuf
|
@@ -583,8 +590,9 @@ module Gapic
|
|
583
590
|
# otherwise.
|
584
591
|
class Field < Proto
|
585
592
|
extend Forwardable
|
586
|
-
|
587
|
-
|
593
|
+
|
594
|
+
attr_accessor :message
|
595
|
+
attr_accessor :enum
|
588
596
|
|
589
597
|
# Initializes a message object.
|
590
598
|
# @param descriptor [Google::Protobuf::FieldDescriptorProto] the
|
@@ -784,7 +792,12 @@ module Gapic
|
|
784
792
|
# @return [Array<Gapic::Schema::Resource>] Parent resources
|
785
793
|
class Resource
|
786
794
|
extend Forwardable
|
787
|
-
|
795
|
+
|
796
|
+
attr_reader :descriptor
|
797
|
+
attr_reader :parsed_patterns
|
798
|
+
attr_reader :parsed_parent_patterns
|
799
|
+
attr_reader :parent_resources
|
800
|
+
|
788
801
|
attr_accessor :parent
|
789
802
|
|
790
803
|
# Initializes a resource object.
|
@@ -25,13 +25,11 @@ module Gapic
|
|
25
25
|
# @return [Array<Segment|String>] The segments of the parsed path pattern.
|
26
26
|
module Parser
|
27
27
|
# @private
|
28
|
-
#
|
28
|
+
# `/(?<positional>\*\*?)|{(?<name>[^\/]+?)(?:=(?<template>.+?))?}/`
|
29
29
|
URI_TEMPLATE = %r{
|
30
|
-
(
|
31
|
-
|
32
|
-
|
33
|
-
{(?<name>[^\/]+?)(?:=(?<template>.+?))?}
|
34
|
-
)
|
30
|
+
(?<positional>\*\*?)
|
31
|
+
|
|
32
|
+
{(?<name>[^/]+?)(?:=(?<template>.+?))?}
|
35
33
|
}x.freeze
|
36
34
|
|
37
35
|
def self.parse_arguments uri_template
|
@@ -21,13 +21,13 @@ Gem::Specification.new do |gem|
|
|
21
21
|
<%= gem.extra_files.inspect %>
|
22
22
|
gem.require_paths = ["lib"]
|
23
23
|
|
24
|
-
gem.required_ruby_version = ">= 2.
|
24
|
+
gem.required_ruby_version = ">= 2.5"
|
25
25
|
|
26
26
|
<%- gem.dependency_list.each do |name, requirements| -%>
|
27
27
|
gem.add_dependency <%= name.inspect %>, <%= requirements.map { |v| v.inspect }.join ", " %>
|
28
28
|
<%- end -%>
|
29
29
|
|
30
|
-
gem.add_development_dependency "google-style", "~> 1.
|
30
|
+
gem.add_development_dependency "google-style", "~> 1.25.1"
|
31
31
|
gem.add_development_dependency "minitest", "~> 5.14"
|
32
32
|
gem.add_development_dependency "minitest-focus", "~> 1.1"
|
33
33
|
gem.add_development_dependency "minitest-rg", "~> 5.2"
|
@@ -28,11 +28,11 @@ response = client.<%= method.name %> request
|
|
28
28
|
|
29
29
|
## Supported Ruby Versions
|
30
30
|
|
31
|
-
This library is supported on Ruby 2.
|
31
|
+
This library is supported on Ruby 2.5+.
|
32
32
|
|
33
33
|
Google provides official support for Ruby versions that are actively supported
|
34
34
|
by Ruby Core—that is, Ruby versions that are either in normal maintenance or
|
35
|
-
in security maintenance, and not end of life. Currently, this means Ruby 2.
|
35
|
+
in security maintenance, and not end of life. Currently, this means Ruby 2.5
|
36
36
|
and later. Older versions of Ruby _may_ still work, but are unsupported and not
|
37
37
|
recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
|
38
38
|
about the Ruby support schedule.
|
@@ -8,14 +8,14 @@ AllCops:
|
|
8
8
|
- "proto_docs/**/*"
|
9
9
|
- "test/**/*"
|
10
10
|
|
11
|
+
Layout/LineLength:
|
12
|
+
Enabled: false
|
11
13
|
Metrics/AbcSize:
|
12
14
|
Enabled: false
|
13
15
|
Metrics/ClassLength:
|
14
16
|
Enabled: false
|
15
17
|
Metrics/CyclomaticComplexity:
|
16
18
|
Enabled: false
|
17
|
-
Metrics/LineLength:
|
18
|
-
Enabled: false
|
19
19
|
Metrics/MethodLength:
|
20
20
|
Enabled: false
|
21
21
|
Metrics/ModuleLength:
|
@@ -25,13 +25,3 @@ Metrics/PerceivedComplexity:
|
|
25
25
|
Naming/FileName:
|
26
26
|
Exclude:
|
27
27
|
- "lib/<%= gem.name %>.rb"
|
28
|
-
Naming/PredicateName:
|
29
|
-
Enabled: false
|
30
|
-
Style/AsciiComments:
|
31
|
-
Enabled: false
|
32
|
-
Style/CaseEquality:
|
33
|
-
Enabled: false
|
34
|
-
Style/IfUnlessModifier:
|
35
|
-
Enabled: false
|
36
|
-
Style/ModuleFunction:
|
37
|
-
Enabled: false
|
@@ -6,13 +6,23 @@ require "<%= service.service_require %>"
|
|
6
6
|
require "<%= package.gem.version_require %>"
|
7
7
|
<% end %>
|
8
8
|
<%- unless package.empty? -%>
|
9
|
+
<%- if package.services.first.generate_grpc_clients? -%>
|
9
10
|
##
|
10
|
-
# To load this package, including all its services, and instantiate a
|
11
|
+
# To load this package, including all its services, and instantiate a <%= package.grpc_client_designation %>:
|
11
12
|
#
|
12
13
|
# require "<%= package.package_require %>"
|
13
14
|
# client = <%= package.services.first.create_client_call %>
|
14
15
|
#
|
15
16
|
<%- end -%>
|
17
|
+
<%- if package.services.first.generate_rest_clients? -%>
|
18
|
+
##
|
19
|
+
# To load this package, including all its services, and instantiate a REST client:
|
20
|
+
#
|
21
|
+
# require "<%= package.package_require %>"
|
22
|
+
# client = <%= package.services.first.rest.create_client_call %>
|
23
|
+
#
|
24
|
+
<%- end -%>
|
25
|
+
<%- end -%>
|
16
26
|
module <%= package.module_name %>
|
17
27
|
end
|
18
28
|
<% @footer = capture do %>
|
@@ -1,4 +1,21 @@
|
|
1
1
|
<%- assert_locals service -%>
|
2
|
+
|
3
|
+
<%- if service.generate_rest_clients? -%>
|
4
|
+
<% @requires = capture do %>
|
5
|
+
require "gapic/config"
|
6
|
+
require "gapic/config/method"
|
7
|
+
|
8
|
+
require "<%= service.gem.version_require %>"
|
9
|
+
|
10
|
+
<%- unless service.generic_endpoint? -%>
|
11
|
+
require "<%= service.credentials_require %>"
|
12
|
+
<%- end -%>
|
13
|
+
<%- if service.paths? -%>
|
14
|
+
require "<%= service.paths_require %>"
|
15
|
+
<%- end -%>
|
16
|
+
require "<%= service.rest.service_rest_require %>"
|
17
|
+
<% end %>
|
18
|
+
<%- else -%>
|
2
19
|
<% @requires = capture do %>
|
3
20
|
require "gapic/common"
|
4
21
|
require "gapic/config"
|
@@ -22,13 +39,26 @@ require "<%= service.client_require %>"
|
|
22
39
|
<%= indent service.doc_description, "# " %>
|
23
40
|
#
|
24
41
|
<%- end -%>
|
25
|
-
|
42
|
+
<%- end -%>
|
43
|
+
<%- if service.generate_grpc_clients? -%>
|
44
|
+
# To load this service and instantiate a <%= service.grpc_client_designation %>:
|
26
45
|
#
|
27
46
|
# require "<%= service.service_require %>"
|
28
47
|
# client = <%= service.create_client_call %>
|
29
48
|
#
|
49
|
+
<%- end -%>
|
50
|
+
<%- if service.generate_rest_clients? -%>
|
51
|
+
# To load this service and instantiate a REST client:
|
52
|
+
#
|
53
|
+
# require "<%= service.service_require %>"
|
54
|
+
# client = <%= service.rest.create_client_call %>
|
55
|
+
#
|
56
|
+
<%- end -%>
|
30
57
|
module <%= service.module_name %>
|
31
58
|
end
|
59
|
+
|
60
|
+
|
61
|
+
|
32
62
|
<% @footer = capture do %>
|
33
63
|
<%= render partial: "service/helpers", locals: { service: service} -%>
|
34
64
|
<% end %>
|