Class: Gapic::Presenters::ServicePresenter
Overview
A presenter for proto services.
Instance Method Summary
collapse
#fix_namespace, #ruby_namespace, #ruby_namespace_for_address
#fix_file_path, #ruby_file_path, #ruby_file_path_for_namespace
Constructor Details
Returns a new instance of ServicePresenter.
30
31
32
33
|
# File 'lib/gapic/presenters/service_presenter.rb', line 30
def initialize api, service
@api = api
@service = service
end
|
Instance Method Details
#address ⇒ Object
53
54
55
|
# File 'lib/gapic/presenters/service_presenter.rb', line 53
def address
@service.address
end
|
#client_endpoint ⇒ Object
148
149
150
|
# File 'lib/gapic/presenters/service_presenter.rb', line 148
def client_endpoint
@service.host || default_config(:default_host) || "localhost"
end
|
#client_file_name ⇒ Object
144
145
146
|
# File 'lib/gapic/presenters/service_presenter.rb', line 144
def client_file_name
client_file_path.split("/").last
end
|
#client_file_path ⇒ Object
140
141
142
|
# File 'lib/gapic/presenters/service_presenter.rb', line 140
def client_file_path
client_require + ".rb"
end
|
#client_name ⇒ Object
120
121
122
|
# File 'lib/gapic/presenters/service_presenter.rb', line 120
def client_name
"Client"
end
|
#client_name_full ⇒ Object
124
125
126
|
# File 'lib/gapic/presenters/service_presenter.rb', line 124
def client_name_full
fix_namespace @api, "#{proto_service_name_full}::#{client_name}"
end
|
#client_proto_name ⇒ Object
156
157
158
|
# File 'lib/gapic/presenters/service_presenter.rb', line 156
def client_proto_name
@service.address.join "."
end
|
#client_require ⇒ Object
136
137
138
|
# File 'lib/gapic/presenters/service_presenter.rb', line 136
def client_require
ruby_file_path @api, client_name_full
end
|
#client_scopes ⇒ Object
152
153
154
|
# File 'lib/gapic/presenters/service_presenter.rb', line 152
def client_scopes
@service.scopes || default_config(:oauth_scopes)
end
|
#config_channel_args ⇒ Object
274
275
276
|
# File 'lib/gapic/presenters/service_presenter.rb', line 274
def config_channel_args
{ "grpc.service_config_disable_resolution" => 1 }
end
|
132
133
134
|
# File 'lib/gapic/presenters/service_presenter.rb', line 132
def configure_client_call
"#{client_name_full}.configure"
end
|
#create_client_call ⇒ Object
128
129
130
|
# File 'lib/gapic/presenters/service_presenter.rb', line 128
def create_client_call
"#{client_name_full}.new"
end
|
#credentials_class_xref ⇒ Object
168
169
170
|
# File 'lib/gapic/presenters/service_presenter.rb', line 168
def credentials_class_xref
"{#{credentials_name_full}}"
end
|
#credentials_file_name ⇒ Object
176
177
178
|
# File 'lib/gapic/presenters/service_presenter.rb', line 176
def credentials_file_name
credentials_file_path.split("/").last
end
|
#credentials_file_path ⇒ Object
172
173
174
|
# File 'lib/gapic/presenters/service_presenter.rb', line 172
def credentials_file_path
credentials_require + ".rb"
end
|
#credentials_name ⇒ Object
160
161
162
|
# File 'lib/gapic/presenters/service_presenter.rb', line 160
def credentials_name
"Credentials"
end
|
#credentials_name_full ⇒ Object
164
165
166
|
# File 'lib/gapic/presenters/service_presenter.rb', line 164
def credentials_name_full
fix_namespace @api, "#{proto_service_name_full}::#{credentials_name}"
end
|
#credentials_require ⇒ Object
180
181
182
|
# File 'lib/gapic/presenters/service_presenter.rb', line 180
def credentials_require
ruby_file_path @api, credentials_name_full
end
|
#doc_description(disable_xrefs: false) ⇒ Object
68
69
70
|
# File 'lib/gapic/presenters/service_presenter.rb', line 68
def doc_description disable_xrefs: false
@service. disable_xrefs: disable_xrefs
end
|
#file ⇒ Object
39
40
41
|
# File 'lib/gapic/presenters/service_presenter.rb', line 39
def file
FilePresenter.new @api, @service.parent
end
|
#gem ⇒ Object
35
36
37
|
# File 'lib/gapic/presenters/service_presenter.rb', line 35
def gem
GemPresenter.new @api
end
|
#grpc_full_name ⇒ Object
283
284
285
|
# File 'lib/gapic/presenters/service_presenter.rb', line 283
def grpc_full_name
@service.address.join "."
end
|
#grpc_service_config ⇒ Object
278
279
280
281
|
# File 'lib/gapic/presenters/service_presenter.rb', line 278
def grpc_service_config
return unless @api.grpc_service_config&.service_level_configs&.key? grpc_full_name
@api.grpc_service_config.service_level_configs[grpc_full_name]
end
|
#helpers_file_name ⇒ Object
188
189
190
|
# File 'lib/gapic/presenters/service_presenter.rb', line 188
def helpers_file_name
"helpers.rb"
end
|
#helpers_file_path ⇒ Object
184
185
186
|
# File 'lib/gapic/presenters/service_presenter.rb', line 184
def helpers_file_path
helpers_require + ".rb"
end
|
#helpers_require ⇒ Object
192
193
194
|
# File 'lib/gapic/presenters/service_presenter.rb', line 192
def helpers_require
ruby_file_path @api, "#{proto_service_name_full}::Helpers"
end
|
#lro? ⇒ Boolean
236
237
238
|
# File 'lib/gapic/presenters/service_presenter.rb', line 236
def lro?
methods.find(&:lro?)
end
|
#lro_client_ivar ⇒ Object
244
245
246
|
# File 'lib/gapic/presenters/service_presenter.rb', line 244
def lro_client_ivar
"@#{lro_client_var}"
end
|
#lro_client_var ⇒ Object
240
241
242
|
# File 'lib/gapic/presenters/service_presenter.rb', line 240
def lro_client_var
"operations_client"
end
|
#lro_service ⇒ Object
268
269
270
271
272
|
# File 'lib/gapic/presenters/service_presenter.rb', line 268
def lro_service
lro = @service.parent.parent.files.find { |file| file.name == "google/longrunning/operations.proto" }
return ServicePresenter.new @api, lro.services.first unless lro.nil?
end
|
#methods ⇒ Object
47
48
49
50
51
|
# File 'lib/gapic/presenters/service_presenter.rb', line 47
def methods
@methods ||= begin
@service.methods.map { |m| MethodPresenter.new @api, m }
end
end
|
#name ⇒ Object
72
73
74
|
# File 'lib/gapic/presenters/service_presenter.rb', line 72
def name
@service.name
end
|
#namespace ⇒ Object
57
58
59
60
61
62
|
# File 'lib/gapic/presenters/service_presenter.rb', line 57
def namespace
return @service.ruby_package if @service.ruby_package.present?
namespace = ruby_namespace_for_address @service.address[0...-1]
fix_namespace @api, namespace
end
|
#operations_file_name ⇒ Object
260
261
262
|
# File 'lib/gapic/presenters/service_presenter.rb', line 260
def operations_file_name
operations_file_path.split("/").last
end
|
#operations_file_path ⇒ Object
256
257
258
|
# File 'lib/gapic/presenters/service_presenter.rb', line 256
def operations_file_path
operations_require + ".rb"
end
|
#operations_name ⇒ Object
248
249
250
|
# File 'lib/gapic/presenters/service_presenter.rb', line 248
def operations_name
"Operations"
end
|
#operations_name_full ⇒ Object
252
253
254
|
# File 'lib/gapic/presenters/service_presenter.rb', line 252
def operations_name_full
fix_namespace @api, "#{proto_service_name_full}::#{operations_name}"
end
|
#operations_require ⇒ Object
264
265
266
|
# File 'lib/gapic/presenters/service_presenter.rb', line 264
def operations_require
ruby_file_path @api, "#{proto_service_name_full}::#{operations_name}"
end
|
#package ⇒ Object
43
44
45
|
# File 'lib/gapic/presenters/service_presenter.rb', line 43
def package
PackagePresenter.new @api, @service.parent.package
end
|
#paths? ⇒ Boolean
200
201
202
|
# File 'lib/gapic/presenters/service_presenter.rb', line 200
def paths?
references.any?
end
|
#paths_file_name ⇒ Object
216
217
218
|
# File 'lib/gapic/presenters/service_presenter.rb', line 216
def paths_file_name
paths_file_path.split("/").last
end
|
#paths_file_path ⇒ Object
212
213
214
|
# File 'lib/gapic/presenters/service_presenter.rb', line 212
def paths_file_path
paths_require + ".rb"
end
|
#paths_name ⇒ Object
204
205
206
|
# File 'lib/gapic/presenters/service_presenter.rb', line 204
def paths_name
"Paths"
end
|
#paths_name_full ⇒ Object
208
209
210
|
# File 'lib/gapic/presenters/service_presenter.rb', line 208
def paths_name_full
fix_namespace @api, "#{proto_service_name_full}::#{paths_name}"
end
|
#paths_require ⇒ Object
220
221
222
|
# File 'lib/gapic/presenters/service_presenter.rb', line 220
def paths_require
ruby_file_path @api, "#{proto_service_name_full}::#{paths_name}"
end
|
#proto_service_file_name ⇒ Object
84
85
86
|
# File 'lib/gapic/presenters/service_presenter.rb', line 84
def proto_service_file_name
proto_service_file_path.split("/").last
end
|
#proto_service_file_path ⇒ Object
80
81
82
|
# File 'lib/gapic/presenters/service_presenter.rb', line 80
def proto_service_file_path
@service.parent.name.sub ".proto", "_pb.rb"
end
|
#proto_service_name_full ⇒ Object
76
77
78
|
# File 'lib/gapic/presenters/service_presenter.rb', line 76
def proto_service_name_full
fix_namespace @api, "#{namespace}::#{name}"
end
|
#proto_service_require ⇒ Object
88
89
90
|
# File 'lib/gapic/presenters/service_presenter.rb', line 88
def proto_service_require
proto_service_file_path.sub ".rb", ""
end
|
#proto_service_stub_name_full ⇒ Object
104
105
106
|
# File 'lib/gapic/presenters/service_presenter.rb', line 104
def proto_service_stub_name_full
"#{proto_service_name_full}::Stub"
end
|
#proto_services_file_name ⇒ Object
96
97
98
|
# File 'lib/gapic/presenters/service_presenter.rb', line 96
def proto_services_file_name
proto_services_file_path.split("/").last
end
|
#proto_services_file_path ⇒ Object
92
93
94
|
# File 'lib/gapic/presenters/service_presenter.rb', line 92
def proto_services_file_path
@service.parent.name.sub ".proto", "_services_pb.rb"
end
|
#proto_services_require ⇒ Object
100
101
102
|
# File 'lib/gapic/presenters/service_presenter.rb', line 100
def proto_services_require
proto_services_file_path.sub ".rb", ""
end
|
#references ⇒ Object
196
197
198
|
# File 'lib/gapic/presenters/service_presenter.rb', line 196
def references
@references ||= @service.resources.map { |resource| ResourcePresenter.new resource }.sort_by(&:name)
end
|
#service_file_name ⇒ Object
112
113
114
|
# File 'lib/gapic/presenters/service_presenter.rb', line 112
def service_file_name
service_file_path.split("/").last
end
|
#service_file_path ⇒ Object
108
109
110
|
# File 'lib/gapic/presenters/service_presenter.rb', line 108
def service_file_path
service_require + ".rb"
end
|
#service_require ⇒ Object
116
117
118
|
# File 'lib/gapic/presenters/service_presenter.rb', line 116
def service_require
ruby_file_path @api, proto_service_name_full
end
|
#stub_name ⇒ Object
232
233
234
|
# File 'lib/gapic/presenters/service_presenter.rb', line 232
def stub_name
"#{ActiveSupport::Inflector.underscore name}_stub"
end
|
#test_client_file_path ⇒ Object
224
225
226
|
# File 'lib/gapic/presenters/service_presenter.rb', line 224
def test_client_file_path
service_file_path.sub ".rb", "_test.rb"
end
|
#test_client_operations_file_path ⇒ Object
228
229
230
|
# File 'lib/gapic/presenters/service_presenter.rb', line 228
def test_client_operations_file_path
service_file_path.sub ".rb", "_operations_test.rb"
end
|
#version ⇒ Object
64
65
66
|
# File 'lib/gapic/presenters/service_presenter.rb', line 64
def version
ActiveSupport::Inflector.camelize @service.address[-2]
end
|