gapic-generator 0.2.3 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +38 -0
- data/lib/gapic/formatting_utils.rb +9 -7
- data/lib/gapic/generator/version.rb +1 -1
- data/lib/gapic/generators/default_generator.rb +11 -10
- data/lib/gapic/helpers/filepath_helper.rb +1 -0
- data/lib/gapic/helpers/namespace_helper.rb +8 -1
- data/lib/gapic/presenters/field_presenter.rb +9 -9
- data/lib/gapic/presenters/file_presenter.rb +1 -1
- data/lib/gapic/presenters/gem_presenter.rb +4 -0
- data/lib/gapic/presenters/method_presenter.rb +24 -18
- data/lib/gapic/presenters/package_presenter.rb +16 -1
- data/lib/gapic/presenters/resource_presenter.rb +3 -9
- data/lib/gapic/presenters/service_presenter.rb +58 -13
- data/lib/gapic/resource_lookup.rb +23 -45
- data/lib/gapic/ruby_info.rb +93 -0
- data/lib/gapic/schema/api.rb +102 -1
- data/lib/gapic/schema/loader.rb +9 -2
- data/lib/gapic/schema/wrappers.rb +109 -22
- data/templates/default/gem/entrypoint.erb +8 -0
- data/templates/default/gem/gemspec.erb +1 -1
- data/templates/default/gem/readme.erb +15 -1
- data/templates/default/gem/rubocop.erb +13 -41
- data/templates/default/layouts/_ruby.erb +5 -4
- data/templates/default/lib/_package.erb +17 -0
- data/templates/default/lib/_service.erb +32 -0
- data/templates/default/package.erb +5 -5
- data/templates/default/proto_docs/_message.erb +2 -2
- data/templates/default/service.erb +5 -7
- data/templates/default/service/_helpers.erb +3 -0
- data/templates/default/service/client.erb +1 -1
- data/templates/default/service/client/_client.erb +13 -19
- data/templates/default/service/client/_config.erb +26 -26
- data/templates/default/service/client/_credentials.erb +1 -1
- data/templates/default/service/client/_operations.erb +1 -5
- data/templates/default/service/client/_resource.erb +1 -1
- data/templates/default/service/client/method/def/_options_defaults.erb +2 -2
- data/templates/default/service/client/method/def/_request_normal.erb +2 -2
- data/templates/default/service/client/method/def/_request_streaming.erb +3 -3
- data/templates/default/service/client/method/def/_response_normal.erb +1 -1
- data/templates/default/service/client/method/def/_response_paged.erb +2 -2
- data/templates/default/service/client/method/docs/_error.erb +1 -1
- data/templates/default/service/client/method/docs/_request_normal.erb +11 -6
- data/templates/default/service/client/method/docs/_request_streaming.erb +2 -2
- data/templates/default/service/client/method/docs/_response.erb +1 -1
- data/templates/default/service/client/resource/_def.erb +1 -1
- data/templates/default/service/client/resource/_multi.erb +2 -2
- data/templates/default/service/client/resource/_single.erb +1 -1
- data/templates/default/service/credentials.erb +1 -1
- data/templates/default/service/operations.erb +1 -1
- data/templates/default/service/paths.erb +1 -1
- data/templates/default/service/test/client.erb +16 -2
- data/templates/default/service/test/client_operations.erb +2 -2
- data/templates/default/service/test/method/_configure.erb +19 -0
- metadata +9 -4
- data/templates/default/service/client/_helpers.erb +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd638c7b5855aa89dfd03c87f3f5d8d936d78005b51dd04a409ac7552e3eea05
|
4
|
+
data.tar.gz: 6372183134b8556a0a5ac7a4a6bf1250820c5b167b576454fae5f0228194078c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 67b82518fe047ac185a3b596af6b3da223c774c96dbc6cb01761998920ca164e546bd72fc2222c6a945636c49e39a5b80ded892b821d493d79f40133fa973fa3
|
7
|
+
data.tar.gz: c316dd8c291a1204e73f18d7df06800734bf7e3690db5d5967e586cbaf0c215b02496a090a44eb5baee9b501fd418717312b8bb33d096fda5f5c6ef84e11d1fa
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,43 @@
|
|
1
1
|
# Release History for gapic-generator
|
2
2
|
|
3
|
+
### 0.4.2 / 2020-04-28
|
4
|
+
|
5
|
+
* Prepend double-colon to absolute/global namespaces to prevent conflicts.
|
6
|
+
* Fix documentation/examples of timeouts to clarify they are in seconds.
|
7
|
+
|
8
|
+
### 0.4.0 / 2020-04-20
|
9
|
+
|
10
|
+
* Support generating clients of "common" interfaces by delegating to another service config.
|
11
|
+
* Added an accessor for the long-running-operation client from the main client.
|
12
|
+
* Generate tests for the configure method and operations client accessor.
|
13
|
+
* Prevent generation of RPC or factory methods with reserved names.
|
14
|
+
* Fixed: LRO clients weren't inheriting custom endpoints from the main client.
|
15
|
+
* Fixed: Cross-references weren't interpreted if the text included backticks, spaces, or hyphens.
|
16
|
+
|
17
|
+
### 0.3.3 / 2020-04-13
|
18
|
+
|
19
|
+
* Fix cross-reference links to multi-word enum values.
|
20
|
+
|
21
|
+
### 0.3.2 / 2020-04-12
|
22
|
+
|
23
|
+
* Fix the talent.v4beta1 hack.
|
24
|
+
|
25
|
+
### 0.3.1 / 2020-04-11
|
26
|
+
|
27
|
+
* Disable ModuleLength metric for generated code.
|
28
|
+
* Omit nonconforming resource patterns instead of crashing.
|
29
|
+
|
30
|
+
### 0.3.0 / 2020-04-10
|
31
|
+
|
32
|
+
* Detect when a resource is referenced implicitly via child_type, and generate path helpers.
|
33
|
+
* Update grpc-google-iam-v1 dependency to require the latest version.
|
34
|
+
* Generated require graph is more sane and does not include cycles.
|
35
|
+
* The bundler entrypoint now loads the entire gem for wrapper gems.
|
36
|
+
* Generated readmes are more useful and include a quickstart.
|
37
|
+
* Package and service modules now have basic documentation.
|
38
|
+
* Overloads for methods now have basic explanatory documentation, including how to pass an empty request.
|
39
|
+
* Request object documentation no longer duplicates the method documentation.
|
40
|
+
|
3
41
|
### 0.2.3 / 2020-04-06
|
4
42
|
|
5
43
|
* No changes
|
@@ -22,7 +22,7 @@ module Gapic
|
|
22
22
|
#
|
23
23
|
module FormattingUtils
|
24
24
|
@brace_detector = /\A(?<pre>[^`]*(`[^`]*`[^`]*)*[^`\\])?\{(?<inside>[^\s][^}]*)\}(?<post>.*)\z/m
|
25
|
-
@xref_detector = /\A(?<pre>[^`]*(`[^`]*`[^`]*)*)?\[(?<text>[\w\.]+)\]\[(?<addr>[\w\.]+)\](?<post>.*)\z/m
|
25
|
+
@xref_detector = /\A(?<pre>[^`]*(`[^`]*`[^`]*)*)?\[(?<text>[\w\. `-]+)\]\[(?<addr>[\w\.]+)\](?<post>.*)\z/m
|
26
26
|
@list_element_detector = /\A\s*(\*|\+|-|[0-9a-zA-Z]+\.)\s/
|
27
27
|
|
28
28
|
class << self
|
@@ -137,13 +137,15 @@ module Gapic
|
|
137
137
|
|
138
138
|
case entity
|
139
139
|
when Gapic::Schema::Service
|
140
|
-
"{
|
140
|
+
"{::#{convert_address_to_ruby entity}::Client #{text}}"
|
141
141
|
when Gapic::Schema::Method
|
142
|
-
"{
|
143
|
-
when Gapic::Schema::Message, Gapic::Schema::Enum
|
144
|
-
"{
|
142
|
+
"{::#{convert_address_to_ruby entity.parent}::Client##{entity.name.underscore} #{text}}"
|
143
|
+
when Gapic::Schema::Message, Gapic::Schema::Enum
|
144
|
+
"{::#{convert_address_to_ruby entity} #{text}}"
|
145
|
+
when Gapic::Schema::EnumValue
|
146
|
+
"{::#{convert_address_to_ruby entity.parent}::#{entity.name} #{text}}"
|
145
147
|
when Gapic::Schema::Field
|
146
|
-
"{
|
148
|
+
"{::#{convert_address_to_ruby entity.parent}##{entity.name} #{text}}"
|
147
149
|
end
|
148
150
|
end
|
149
151
|
|
@@ -153,7 +155,7 @@ module Gapic
|
|
153
155
|
address = entity.address
|
154
156
|
address = address.join "." if address.is_a? Array
|
155
157
|
address = address.sub file.package, file.ruby_package if file.ruby_package&.present?
|
156
|
-
address.split(
|
158
|
+
address.split(/\.|::/).reject(&:empty?).map(&:camelize).map { |node| api.fix_namespace node }.join("::")
|
157
159
|
end
|
158
160
|
end
|
159
161
|
end
|
@@ -63,16 +63,17 @@ module Gapic
|
|
63
63
|
end
|
64
64
|
|
65
65
|
# Gem level files
|
66
|
-
files << g("gem/gitignore.erb",
|
67
|
-
files << g("gem/version.erb",
|
68
|
-
files << g("gem/gemspec.erb",
|
69
|
-
files << g("gem/gemfile.erb",
|
70
|
-
files << g("gem/rakefile.erb",
|
71
|
-
files << g("gem/readme.erb",
|
72
|
-
files << g("gem/changelog.erb",
|
73
|
-
files << g("gem/rubocop.erb",
|
74
|
-
files << g("gem/yardopts.erb",
|
75
|
-
files << g("gem/license.erb",
|
66
|
+
files << g("gem/gitignore.erb", ".gitignore", gem: gem)
|
67
|
+
files << g("gem/version.erb", "lib/#{gem.version_file_path}", gem: gem)
|
68
|
+
files << g("gem/gemspec.erb", "#{gem.name}.gemspec", gem: gem)
|
69
|
+
files << g("gem/gemfile.erb", "Gemfile", gem: gem)
|
70
|
+
files << g("gem/rakefile.erb", "Rakefile", gem: gem)
|
71
|
+
files << g("gem/readme.erb", "README.md", gem: gem)
|
72
|
+
files << g("gem/changelog.erb", "CHANGELOG.md", gem: gem)
|
73
|
+
files << g("gem/rubocop.erb", ".rubocop.yml", gem: gem)
|
74
|
+
files << g("gem/yardopts.erb", ".yardopts", gem: gem)
|
75
|
+
files << g("gem/license.erb", "LICENSE.md", gem: gem)
|
76
|
+
files << g("gem/entrypoint.erb", "lib/#{gem.name}.rb", gem: gem)
|
76
77
|
|
77
78
|
gem.proto_files.each do |proto_file|
|
78
79
|
files << g("proto_docs/proto_file.erb", "proto_docs/#{proto_file.docs_file_path}", file: proto_file)
|
@@ -38,7 +38,14 @@ module Gapic
|
|
38
38
|
# Ruby double-semicolon separators.
|
39
39
|
def ruby_namespace_for_address address
|
40
40
|
address = address.split "." if address.is_a? String
|
41
|
-
address.reject(&:empty?).map(&:camelize).join
|
41
|
+
ensure_absolute_namespace address.reject(&:empty?).map(&:camelize).join("::")
|
42
|
+
end
|
43
|
+
|
44
|
+
##
|
45
|
+
# Returns the given namespace, ensuring double colons are prepended
|
46
|
+
#
|
47
|
+
def ensure_absolute_namespace namespace
|
48
|
+
namespace.start_with?("::") ? namespace : "::#{namespace}"
|
42
49
|
end
|
43
50
|
|
44
51
|
##
|
@@ -95,21 +95,21 @@ module Gapic
|
|
95
95
|
base_type =
|
96
96
|
if field.message?
|
97
97
|
type = message_ruby_type field.message
|
98
|
-
output ? type : "#{type}
|
98
|
+
output ? type : "#{type}, ::Hash"
|
99
99
|
elsif field.enum?
|
100
100
|
# TODO: handle when arg message is nil and enum is the type
|
101
101
|
message_ruby_type field.enum
|
102
102
|
else
|
103
103
|
case field.type
|
104
|
-
when 1, 2 then "Float"
|
105
|
-
when 3, 4, 5, 6, 7, 13, 15, 16, 17, 18 then "Integer"
|
106
|
-
when 9, 12 then "String"
|
107
|
-
when 8 then "Boolean"
|
104
|
+
when 1, 2 then "::Float"
|
105
|
+
when 3, 4, 5, 6, 7, 13, 15, 16, 17, 18 then "::Integer"
|
106
|
+
when 9, 12 then "::String"
|
107
|
+
when 8 then "::Boolean"
|
108
108
|
else
|
109
|
-
"Object"
|
109
|
+
"::Object"
|
110
110
|
end
|
111
111
|
end
|
112
|
-
field.repeated? ? "Array<#{base_type}>" : base_type
|
112
|
+
field.repeated? ? "::Array<#{base_type}>" : base_type
|
113
113
|
end
|
114
114
|
|
115
115
|
def field_map_type entry_message, output
|
@@ -118,7 +118,7 @@ module Gapic
|
|
118
118
|
key_field = field if field.name == "key"
|
119
119
|
value_field = field if field.name == "value"
|
120
120
|
end
|
121
|
-
class_name = output ? "Google::Protobuf::Map" : "Hash"
|
121
|
+
class_name = output ? "::Google::Protobuf::Map" : "::Hash"
|
122
122
|
if key_field && value_field
|
123
123
|
key_type = field_doc_types key_field, output
|
124
124
|
value_type = field_doc_types value_field, output
|
@@ -141,7 +141,7 @@ module Gapic
|
|
141
141
|
when 9, 12 then "\"hello world\""
|
142
142
|
when 8 then "true"
|
143
143
|
else
|
144
|
-
"Object"
|
144
|
+
"::Object"
|
145
145
|
end
|
146
146
|
end
|
147
147
|
end
|
@@ -16,6 +16,7 @@
|
|
16
16
|
|
17
17
|
require "active_support/inflector"
|
18
18
|
require "gapic/path_template"
|
19
|
+
require "gapic/ruby_info"
|
19
20
|
require "gapic/helpers/namespace_helper"
|
20
21
|
|
21
22
|
module Gapic
|
@@ -36,7 +37,11 @@ module Gapic
|
|
36
37
|
end
|
37
38
|
|
38
39
|
def name
|
39
|
-
|
40
|
+
@name ||= begin
|
41
|
+
candidate = ActiveSupport::Inflector.underscore @method.name
|
42
|
+
candidate = "call_#{candidate}" if Gapic::RubyInfo.excluded_method_names.include? candidate
|
43
|
+
candidate
|
44
|
+
end
|
40
45
|
end
|
41
46
|
|
42
47
|
def kind
|
@@ -59,13 +64,13 @@ module Gapic
|
|
59
64
|
|
60
65
|
def doc_response_type
|
61
66
|
ret = return_type
|
62
|
-
ret = "Gapic::Operation" if lro?
|
67
|
+
ret = "::Gapic::Operation" if lro?
|
63
68
|
if server_streaming?
|
64
|
-
ret = "Enumerable<#{ret}>"
|
69
|
+
ret = "::Enumerable<#{ret}>"
|
65
70
|
elsif paged?
|
66
71
|
paged_type = paged_response_type
|
67
|
-
paged_type = "Gapic::Operation" if paged_type == "Google::Longrunning::Operation"
|
68
|
-
ret = "Gapic::PagedEnumerable<#{paged_type}>"
|
72
|
+
paged_type = "::Gapic::Operation" if paged_type == "::Google::Longrunning::Operation"
|
73
|
+
ret = "::Gapic::PagedEnumerable<#{paged_type}>"
|
69
74
|
end
|
70
75
|
ret
|
71
76
|
end
|
@@ -118,7 +123,7 @@ module Gapic
|
|
118
123
|
return [
|
119
124
|
OpenStruct.new(
|
120
125
|
name: "operation",
|
121
|
-
doc_types: "Gapic::Operation"
|
126
|
+
doc_types: "::Gapic::Operation"
|
122
127
|
)
|
123
128
|
]
|
124
129
|
end
|
@@ -129,7 +134,7 @@ module Gapic
|
|
129
134
|
),
|
130
135
|
OpenStruct.new(
|
131
136
|
name: "operation",
|
132
|
-
doc_types: "GRPC::ActiveCall::Operation"
|
137
|
+
doc_types: "::GRPC::ActiveCall::Operation"
|
133
138
|
)
|
134
139
|
]
|
135
140
|
end
|
@@ -145,9 +150,9 @@ module Gapic
|
|
145
150
|
end
|
146
151
|
|
147
152
|
def lro?
|
148
|
-
return paged_response_type == "Google::Longrunning::Operation" if paged?
|
153
|
+
return paged_response_type == "::Google::Longrunning::Operation" if paged?
|
149
154
|
|
150
|
-
message_ruby_type(@method.output) == "Google::Longrunning::Operation"
|
155
|
+
message_ruby_type(@method.output) == "::Google::Longrunning::Operation"
|
151
156
|
end
|
152
157
|
|
153
158
|
def client_streaming?
|
@@ -166,8 +171,9 @@ module Gapic
|
|
166
171
|
# to be removed when these methods no longer conform to AIP-4233.) For
|
167
172
|
# detailed information, see internal link go/actools-talent-pagination.
|
168
173
|
address = @method.address.join "."
|
169
|
-
return false if address == "google.cloud.talent.v4beta1.SearchProfiles"
|
170
|
-
return false if address == "google.cloud.talent.v4beta1.SearchJobs"
|
174
|
+
return false if address == "google.cloud.talent.v4beta1.ProfileService.SearchProfiles"
|
175
|
+
return false if address == "google.cloud.talent.v4beta1.JobService.SearchJobs"
|
176
|
+
return false if address == "google.cloud.talent.v4beta1.JobService.SearchJobsForAlert"
|
171
177
|
|
172
178
|
paged_request?(@method.input) && paged_response?(@method.output)
|
173
179
|
end
|
@@ -214,18 +220,18 @@ module Gapic
|
|
214
220
|
|
215
221
|
def doc_types_for arg
|
216
222
|
if arg.message?
|
217
|
-
"#{message_ruby_type arg.message}
|
223
|
+
"#{message_ruby_type arg.message}, Hash"
|
218
224
|
elsif arg.enum?
|
219
225
|
# TODO: handle when arg message is nil and enum is the type
|
220
226
|
message_ruby_type arg.enum
|
221
227
|
else
|
222
228
|
case arg.type
|
223
|
-
when 1, 2 then "Float"
|
224
|
-
when 3, 4, 5, 6, 7, 13, 15, 16, 17, 18 then "Integer"
|
225
|
-
when 9, 12 then "String"
|
226
|
-
when 8 then "Boolean"
|
229
|
+
when 1, 2 then "::Float"
|
230
|
+
when 3, 4, 5, 6, 7, 13, 15, 16, 17, 18 then "::Integer"
|
231
|
+
when 9, 12 then "::String"
|
232
|
+
when 8 then "::Boolean"
|
227
233
|
else
|
228
|
-
"Object"
|
234
|
+
"::Object"
|
229
235
|
end
|
230
236
|
end
|
231
237
|
end
|
@@ -250,7 +256,7 @@ module Gapic
|
|
250
256
|
when 9, 12 then "\"hello world\""
|
251
257
|
when 8 then "true"
|
252
258
|
else
|
253
|
-
"Object"
|
259
|
+
"::Object"
|
254
260
|
end
|
255
261
|
end
|
256
262
|
end
|
@@ -45,10 +45,25 @@ module Gapic
|
|
45
45
|
ruby_namespace_for_address address
|
46
46
|
end
|
47
47
|
|
48
|
+
def parent_namespace
|
49
|
+
namespace.split("::")[0...-1].join("::")
|
50
|
+
end
|
51
|
+
|
52
|
+
def module_name
|
53
|
+
namespace.split("::").last
|
54
|
+
end
|
55
|
+
|
56
|
+
# Services whose clients should be generated in this package namespace.
|
48
57
|
def services
|
49
58
|
@services ||= begin
|
50
59
|
files = @api.generate_files.select { |f| f.package == @package }
|
51
|
-
files.map(&:services).flatten
|
60
|
+
services = files.map(&:services).flatten
|
61
|
+
# Omit common services in this package. Common service clients do not
|
62
|
+
# go into their own package.
|
63
|
+
normal_services = services.select { |s| @api.delegate_service_for(s).nil? }
|
64
|
+
# But include common services that delegate to normal services in this package.
|
65
|
+
common_services = normal_services.flat_map { |s| @api.common_services_for s }
|
66
|
+
(normal_services + common_services).map { |s| ServicePresenter.new @api, s }
|
52
67
|
end
|
53
68
|
end
|
54
69
|
|
@@ -38,15 +38,9 @@ module Gapic
|
|
38
38
|
)
|
39
39
|
end
|
40
40
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
raise ArgumentError, "only resources without named patterns are supported, " \
|
45
|
-
" not #{pattern.template}"
|
46
|
-
elsif positional_args? pattern.segments
|
47
|
-
raise ArgumentError, "only resources with named segments are supported, " \
|
48
|
-
" not #{pattern.template}"
|
49
|
-
end
|
41
|
+
# Keep only patterns that can be used to create path helpers
|
42
|
+
@patterns.reject! do |pattern|
|
43
|
+
named_arg_patterns?(pattern.segments) || positional_args?(pattern.segments)
|
50
44
|
end
|
51
45
|
end
|
52
46
|
|
@@ -55,8 +55,26 @@ module Gapic
|
|
55
55
|
@service.address
|
56
56
|
end
|
57
57
|
|
58
|
+
# Returns a presenter for this service's delegate (if it is a common service)
|
59
|
+
# otherwise returns `nil`.
|
60
|
+
def common_service_delegate
|
61
|
+
unless defined? @common_service_delegate
|
62
|
+
delegate = @api.delegate_service_for @service
|
63
|
+
@common_service_delegate = delegate ? ServicePresenter.new(@api, delegate) : nil
|
64
|
+
end
|
65
|
+
@common_service_delegate
|
66
|
+
end
|
67
|
+
|
68
|
+
# The namespace of the client. Normally this is the version module. This
|
69
|
+
# may be different from the proto namespace for a common service.
|
58
70
|
def namespace
|
59
|
-
|
71
|
+
# If this service is a common service, its client should go into its
|
72
|
+
# delegate's namespace rather than its own. For example, KMS includes
|
73
|
+
# the common IAMPolicy service, but that service's client should go
|
74
|
+
# into the KMS namespace.
|
75
|
+
return common_service_delegate.namespace if common_service_delegate
|
76
|
+
|
77
|
+
return ensure_absolute_namespace @service.ruby_package if @service.ruby_package.present?
|
60
78
|
|
61
79
|
namespace = ruby_namespace_for_address @service.address[0...-1]
|
62
80
|
fix_namespace @api, namespace
|
@@ -74,8 +92,22 @@ module Gapic
|
|
74
92
|
@service.name
|
75
93
|
end
|
76
94
|
|
95
|
+
# The namespace of the protos. This may be different from the client
|
96
|
+
# namespace for a common service.
|
97
|
+
def proto_namespace
|
98
|
+
return ensure_absolute_namespace @service.ruby_package if @service.ruby_package.present?
|
99
|
+
|
100
|
+
namespace = ruby_namespace_for_address @service.address[0...-1]
|
101
|
+
@api.override_proto_namespaces? ? fix_namespace(@api, namespace) : namespace
|
102
|
+
end
|
103
|
+
|
77
104
|
def proto_service_name_full
|
78
|
-
|
105
|
+
name_full = "#{proto_namespace}::#{name}"
|
106
|
+
@api.override_proto_namespaces? ? fix_namespace(@api, name_full) : name_full
|
107
|
+
end
|
108
|
+
|
109
|
+
def module_name
|
110
|
+
service_name_full.split("::").last
|
79
111
|
end
|
80
112
|
|
81
113
|
def proto_service_file_path
|
@@ -106,6 +138,10 @@ module Gapic
|
|
106
138
|
"#{proto_service_name_full}::Stub"
|
107
139
|
end
|
108
140
|
|
141
|
+
def service_name_full
|
142
|
+
fix_namespace @api, "#{namespace}::#{name}"
|
143
|
+
end
|
144
|
+
|
109
145
|
def service_file_path
|
110
146
|
service_require + ".rb"
|
111
147
|
end
|
@@ -114,8 +150,12 @@ module Gapic
|
|
114
150
|
service_file_path.split("/").last
|
115
151
|
end
|
116
152
|
|
153
|
+
def service_directory_name
|
154
|
+
service_require.split("/").last
|
155
|
+
end
|
156
|
+
|
117
157
|
def service_require
|
118
|
-
ruby_file_path @api,
|
158
|
+
ruby_file_path @api, service_name_full
|
119
159
|
end
|
120
160
|
|
121
161
|
def client_name
|
@@ -123,7 +163,7 @@ module Gapic
|
|
123
163
|
end
|
124
164
|
|
125
165
|
def client_name_full
|
126
|
-
fix_namespace @api, "#{
|
166
|
+
fix_namespace @api, "#{service_name_full}::#{client_name}"
|
127
167
|
end
|
128
168
|
|
129
169
|
def create_client_call
|
@@ -147,12 +187,17 @@ module Gapic
|
|
147
187
|
end
|
148
188
|
|
149
189
|
def client_endpoint
|
150
|
-
|
151
|
-
|
190
|
+
@parent_service&.client_endpoint ||
|
191
|
+
common_service_delegate&.client_endpoint ||
|
192
|
+
@service.host ||
|
193
|
+
default_config(:default_host) ||
|
194
|
+
"localhost"
|
152
195
|
end
|
153
196
|
|
154
197
|
def client_scopes
|
155
|
-
|
198
|
+
common_service_delegate&.client_scopes ||
|
199
|
+
@service.scopes ||
|
200
|
+
default_config(:oauth_scopes)
|
156
201
|
end
|
157
202
|
|
158
203
|
def client_proto_name
|
@@ -164,7 +209,7 @@ module Gapic
|
|
164
209
|
end
|
165
210
|
|
166
211
|
def credentials_name_full
|
167
|
-
fix_namespace @api, "#{
|
212
|
+
fix_namespace @api, "#{service_name_full}::#{credentials_name}"
|
168
213
|
end
|
169
214
|
|
170
215
|
def credentials_class_xref
|
@@ -192,7 +237,7 @@ module Gapic
|
|
192
237
|
end
|
193
238
|
|
194
239
|
def helpers_require
|
195
|
-
ruby_file_path @api, "#{
|
240
|
+
ruby_file_path @api, "#{service_name_full}::Helpers"
|
196
241
|
end
|
197
242
|
|
198
243
|
def references
|
@@ -208,7 +253,7 @@ module Gapic
|
|
208
253
|
end
|
209
254
|
|
210
255
|
def paths_name_full
|
211
|
-
fix_namespace @api, "#{
|
256
|
+
fix_namespace @api, "#{service_name_full}::#{paths_name}"
|
212
257
|
end
|
213
258
|
|
214
259
|
def paths_file_path
|
@@ -220,7 +265,7 @@ module Gapic
|
|
220
265
|
end
|
221
266
|
|
222
267
|
def paths_require
|
223
|
-
ruby_file_path @api, "#{
|
268
|
+
ruby_file_path @api, "#{service_name_full}::#{paths_name}"
|
224
269
|
end
|
225
270
|
|
226
271
|
def test_client_file_path
|
@@ -252,7 +297,7 @@ module Gapic
|
|
252
297
|
end
|
253
298
|
|
254
299
|
def operations_name_full
|
255
|
-
fix_namespace @api, "#{
|
300
|
+
fix_namespace @api, "#{service_name_full}::#{operations_name}"
|
256
301
|
end
|
257
302
|
|
258
303
|
def operations_file_path
|
@@ -264,7 +309,7 @@ module Gapic
|
|
264
309
|
end
|
265
310
|
|
266
311
|
def operations_require
|
267
|
-
ruby_file_path @api, "#{
|
312
|
+
ruby_file_path @api, "#{service_name_full}::#{operations_name}"
|
268
313
|
end
|
269
314
|
|
270
315
|
def lro_service
|