google-cloud-memorystore-v1beta 0.a → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +154 -8
  5. data/lib/google/cloud/memorystore/v1beta/bindings_override.rb +102 -0
  6. data/lib/google/cloud/memorystore/v1beta/memorystore/credentials.rb +47 -0
  7. data/lib/google/cloud/memorystore/v1beta/memorystore/paths.rb +124 -0
  8. data/lib/google/cloud/memorystore/v1beta/memorystore/rest/client.rb +1006 -0
  9. data/lib/google/cloud/memorystore/v1beta/memorystore/rest/operations.rb +906 -0
  10. data/lib/google/cloud/memorystore/v1beta/memorystore/rest/service_stub.rb +449 -0
  11. data/lib/google/cloud/memorystore/v1beta/memorystore/rest.rb +54 -0
  12. data/lib/google/cloud/memorystore/v1beta/memorystore.rb +48 -0
  13. data/lib/google/cloud/memorystore/v1beta/memorystore_pb.rb +88 -0
  14. data/lib/google/cloud/memorystore/v1beta/memorystore_services_pb.rb +55 -0
  15. data/lib/google/cloud/memorystore/v1beta/rest.rb +38 -0
  16. data/lib/google/cloud/memorystore/v1beta/version.rb +7 -2
  17. data/lib/google/cloud/memorystore/v1beta.rb +40 -0
  18. data/lib/google-cloud-memorystore-v1beta.rb +21 -0
  19. data/proto_docs/README.md +4 -0
  20. data/proto_docs/google/api/client.rb +459 -0
  21. data/proto_docs/google/api/field_behavior.rb +85 -0
  22. data/proto_docs/google/api/field_info.rb +88 -0
  23. data/proto_docs/google/api/launch_stage.rb +71 -0
  24. data/proto_docs/google/api/resource.rb +227 -0
  25. data/proto_docs/google/cloud/memorystore/v1beta/memorystore.rb +714 -0
  26. data/proto_docs/google/longrunning/operations.rb +169 -0
  27. data/proto_docs/google/protobuf/any.rb +145 -0
  28. data/proto_docs/google/protobuf/duration.rb +98 -0
  29. data/proto_docs/google/protobuf/empty.rb +34 -0
  30. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  31. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  32. data/proto_docs/google/rpc/status.rb +48 -0
  33. metadata +92 -10
@@ -0,0 +1,449 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/memorystore/v1beta/memorystore_pb"
20
+
21
+ module Google
22
+ module Cloud
23
+ module Memorystore
24
+ module V1beta
25
+ module Memorystore
26
+ module Rest
27
+ ##
28
+ # REST service stub for the Memorystore service.
29
+ # Service stub contains baseline method implementations
30
+ # including transcoding, making the REST call, and deserialing the response.
31
+ #
32
+ class ServiceStub
33
+ # @private
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
35
+ # These require statements are intentionally placed here to initialize
36
+ # the REST modules only when it's required.
37
+ require "gapic/rest"
38
+
39
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
40
+ endpoint_template: endpoint_template,
41
+ universe_domain: universe_domain,
42
+ credentials: credentials,
43
+ numeric_enums: true,
44
+ service_name: self.class,
45
+ raise_faraday_errors: false,
46
+ logger: logger
47
+ end
48
+
49
+ ##
50
+ # The effective universe domain
51
+ #
52
+ # @return [String]
53
+ #
54
+ def universe_domain
55
+ @client_stub.universe_domain
56
+ end
57
+
58
+ ##
59
+ # The effective endpoint
60
+ #
61
+ # @return [String]
62
+ #
63
+ def endpoint
64
+ @client_stub.endpoint
65
+ end
66
+
67
+ ##
68
+ # The logger used for request/response debug logging.
69
+ #
70
+ # @return [Logger]
71
+ #
72
+ def logger stub: false
73
+ stub ? @client_stub.stub_logger : @client_stub.logger
74
+ end
75
+
76
+ ##
77
+ # Baseline implementation for the list_instances REST call
78
+ #
79
+ # @param request_pb [::Google::Cloud::Memorystore::V1beta::ListInstancesRequest]
80
+ # A request object representing the call parameters. Required.
81
+ # @param options [::Gapic::CallOptions]
82
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
83
+ #
84
+ # @yield [result, operation] Access the result along with the TransportOperation object
85
+ # @yieldparam result [::Google::Cloud::Memorystore::V1beta::ListInstancesResponse]
86
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
87
+ #
88
+ # @return [::Google::Cloud::Memorystore::V1beta::ListInstancesResponse]
89
+ # A result object deserialized from the server's reply
90
+ def list_instances request_pb, options = nil
91
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
92
+
93
+ verb, uri, query_string_params, body = ServiceStub.transcode_list_instances_request request_pb
94
+ query_string_params = if query_string_params.any?
95
+ query_string_params.to_h { |p| p.split "=", 2 }
96
+ else
97
+ {}
98
+ end
99
+
100
+ response = @client_stub.make_http_request(
101
+ verb,
102
+ uri: uri,
103
+ body: body || "",
104
+ params: query_string_params,
105
+ method_name: "list_instances",
106
+ options: options
107
+ )
108
+ operation = ::Gapic::Rest::TransportOperation.new response
109
+ result = ::Google::Cloud::Memorystore::V1beta::ListInstancesResponse.decode_json response.body, ignore_unknown_fields: true
110
+ catch :response do
111
+ yield result, operation if block_given?
112
+ result
113
+ end
114
+ end
115
+
116
+ ##
117
+ # Baseline implementation for the get_instance REST call
118
+ #
119
+ # @param request_pb [::Google::Cloud::Memorystore::V1beta::GetInstanceRequest]
120
+ # A request object representing the call parameters. Required.
121
+ # @param options [::Gapic::CallOptions]
122
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
123
+ #
124
+ # @yield [result, operation] Access the result along with the TransportOperation object
125
+ # @yieldparam result [::Google::Cloud::Memorystore::V1beta::Instance]
126
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
127
+ #
128
+ # @return [::Google::Cloud::Memorystore::V1beta::Instance]
129
+ # A result object deserialized from the server's reply
130
+ def get_instance request_pb, options = nil
131
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
132
+
133
+ verb, uri, query_string_params, body = ServiceStub.transcode_get_instance_request request_pb
134
+ query_string_params = if query_string_params.any?
135
+ query_string_params.to_h { |p| p.split "=", 2 }
136
+ else
137
+ {}
138
+ end
139
+
140
+ response = @client_stub.make_http_request(
141
+ verb,
142
+ uri: uri,
143
+ body: body || "",
144
+ params: query_string_params,
145
+ method_name: "get_instance",
146
+ options: options
147
+ )
148
+ operation = ::Gapic::Rest::TransportOperation.new response
149
+ result = ::Google::Cloud::Memorystore::V1beta::Instance.decode_json response.body, ignore_unknown_fields: true
150
+ catch :response do
151
+ yield result, operation if block_given?
152
+ result
153
+ end
154
+ end
155
+
156
+ ##
157
+ # Baseline implementation for the create_instance REST call
158
+ #
159
+ # @param request_pb [::Google::Cloud::Memorystore::V1beta::CreateInstanceRequest]
160
+ # A request object representing the call parameters. Required.
161
+ # @param options [::Gapic::CallOptions]
162
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
163
+ #
164
+ # @yield [result, operation] Access the result along with the TransportOperation object
165
+ # @yieldparam result [::Google::Longrunning::Operation]
166
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
167
+ #
168
+ # @return [::Google::Longrunning::Operation]
169
+ # A result object deserialized from the server's reply
170
+ def create_instance request_pb, options = nil
171
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
172
+
173
+ verb, uri, query_string_params, body = ServiceStub.transcode_create_instance_request request_pb
174
+ query_string_params = if query_string_params.any?
175
+ query_string_params.to_h { |p| p.split "=", 2 }
176
+ else
177
+ {}
178
+ end
179
+
180
+ response = @client_stub.make_http_request(
181
+ verb,
182
+ uri: uri,
183
+ body: body || "",
184
+ params: query_string_params,
185
+ method_name: "create_instance",
186
+ options: options
187
+ )
188
+ operation = ::Gapic::Rest::TransportOperation.new response
189
+ result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
190
+ catch :response do
191
+ yield result, operation if block_given?
192
+ result
193
+ end
194
+ end
195
+
196
+ ##
197
+ # Baseline implementation for the update_instance REST call
198
+ #
199
+ # @param request_pb [::Google::Cloud::Memorystore::V1beta::UpdateInstanceRequest]
200
+ # A request object representing the call parameters. Required.
201
+ # @param options [::Gapic::CallOptions]
202
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
203
+ #
204
+ # @yield [result, operation] Access the result along with the TransportOperation object
205
+ # @yieldparam result [::Google::Longrunning::Operation]
206
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
207
+ #
208
+ # @return [::Google::Longrunning::Operation]
209
+ # A result object deserialized from the server's reply
210
+ def update_instance request_pb, options = nil
211
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
212
+
213
+ verb, uri, query_string_params, body = ServiceStub.transcode_update_instance_request request_pb
214
+ query_string_params = if query_string_params.any?
215
+ query_string_params.to_h { |p| p.split "=", 2 }
216
+ else
217
+ {}
218
+ end
219
+
220
+ response = @client_stub.make_http_request(
221
+ verb,
222
+ uri: uri,
223
+ body: body || "",
224
+ params: query_string_params,
225
+ method_name: "update_instance",
226
+ options: options
227
+ )
228
+ operation = ::Gapic::Rest::TransportOperation.new response
229
+ result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
230
+ catch :response do
231
+ yield result, operation if block_given?
232
+ result
233
+ end
234
+ end
235
+
236
+ ##
237
+ # Baseline implementation for the delete_instance REST call
238
+ #
239
+ # @param request_pb [::Google::Cloud::Memorystore::V1beta::DeleteInstanceRequest]
240
+ # A request object representing the call parameters. Required.
241
+ # @param options [::Gapic::CallOptions]
242
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
243
+ #
244
+ # @yield [result, operation] Access the result along with the TransportOperation object
245
+ # @yieldparam result [::Google::Longrunning::Operation]
246
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
247
+ #
248
+ # @return [::Google::Longrunning::Operation]
249
+ # A result object deserialized from the server's reply
250
+ def delete_instance request_pb, options = nil
251
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
252
+
253
+ verb, uri, query_string_params, body = ServiceStub.transcode_delete_instance_request request_pb
254
+ query_string_params = if query_string_params.any?
255
+ query_string_params.to_h { |p| p.split "=", 2 }
256
+ else
257
+ {}
258
+ end
259
+
260
+ response = @client_stub.make_http_request(
261
+ verb,
262
+ uri: uri,
263
+ body: body || "",
264
+ params: query_string_params,
265
+ method_name: "delete_instance",
266
+ options: options
267
+ )
268
+ operation = ::Gapic::Rest::TransportOperation.new response
269
+ result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
270
+ catch :response do
271
+ yield result, operation if block_given?
272
+ result
273
+ end
274
+ end
275
+
276
+ ##
277
+ # Baseline implementation for the get_certificate_authority REST call
278
+ #
279
+ # @param request_pb [::Google::Cloud::Memorystore::V1beta::GetCertificateAuthorityRequest]
280
+ # A request object representing the call parameters. Required.
281
+ # @param options [::Gapic::CallOptions]
282
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
283
+ #
284
+ # @yield [result, operation] Access the result along with the TransportOperation object
285
+ # @yieldparam result [::Google::Cloud::Memorystore::V1beta::CertificateAuthority]
286
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
287
+ #
288
+ # @return [::Google::Cloud::Memorystore::V1beta::CertificateAuthority]
289
+ # A result object deserialized from the server's reply
290
+ def get_certificate_authority request_pb, options = nil
291
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
292
+
293
+ verb, uri, query_string_params, body = ServiceStub.transcode_get_certificate_authority_request request_pb
294
+ query_string_params = if query_string_params.any?
295
+ query_string_params.to_h { |p| p.split "=", 2 }
296
+ else
297
+ {}
298
+ end
299
+
300
+ response = @client_stub.make_http_request(
301
+ verb,
302
+ uri: uri,
303
+ body: body || "",
304
+ params: query_string_params,
305
+ method_name: "get_certificate_authority",
306
+ options: options
307
+ )
308
+ operation = ::Gapic::Rest::TransportOperation.new response
309
+ result = ::Google::Cloud::Memorystore::V1beta::CertificateAuthority.decode_json response.body, ignore_unknown_fields: true
310
+ catch :response do
311
+ yield result, operation if block_given?
312
+ result
313
+ end
314
+ end
315
+
316
+ ##
317
+ # @private
318
+ #
319
+ # GRPC transcoding helper method for the list_instances REST call
320
+ #
321
+ # @param request_pb [::Google::Cloud::Memorystore::V1beta::ListInstancesRequest]
322
+ # A request object representing the call parameters. Required.
323
+ # @return [Array(String, [String, nil], Hash{String => String})]
324
+ # Uri, Body, Query string parameters
325
+ def self.transcode_list_instances_request request_pb
326
+ transcoder = Gapic::Rest::GrpcTranscoder.new
327
+ .with_bindings(
328
+ uri_method: :get,
329
+ uri_template: "/v1beta/{parent}/instances",
330
+ matches: [
331
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
332
+ ]
333
+ )
334
+ transcoder.transcode request_pb
335
+ end
336
+
337
+ ##
338
+ # @private
339
+ #
340
+ # GRPC transcoding helper method for the get_instance REST call
341
+ #
342
+ # @param request_pb [::Google::Cloud::Memorystore::V1beta::GetInstanceRequest]
343
+ # A request object representing the call parameters. Required.
344
+ # @return [Array(String, [String, nil], Hash{String => String})]
345
+ # Uri, Body, Query string parameters
346
+ def self.transcode_get_instance_request request_pb
347
+ transcoder = Gapic::Rest::GrpcTranscoder.new
348
+ .with_bindings(
349
+ uri_method: :get,
350
+ uri_template: "/v1beta/{name}",
351
+ matches: [
352
+ ["name", %r{^projects/[^/]+/locations/[^/]+/instances/[^/]+/?$}, false]
353
+ ]
354
+ )
355
+ transcoder.transcode request_pb
356
+ end
357
+
358
+ ##
359
+ # @private
360
+ #
361
+ # GRPC transcoding helper method for the create_instance REST call
362
+ #
363
+ # @param request_pb [::Google::Cloud::Memorystore::V1beta::CreateInstanceRequest]
364
+ # A request object representing the call parameters. Required.
365
+ # @return [Array(String, [String, nil], Hash{String => String})]
366
+ # Uri, Body, Query string parameters
367
+ def self.transcode_create_instance_request request_pb
368
+ transcoder = Gapic::Rest::GrpcTranscoder.new
369
+ .with_bindings(
370
+ uri_method: :post,
371
+ uri_template: "/v1beta/{parent}/instances",
372
+ body: "instance",
373
+ matches: [
374
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
375
+ ]
376
+ )
377
+ transcoder.transcode request_pb
378
+ end
379
+
380
+ ##
381
+ # @private
382
+ #
383
+ # GRPC transcoding helper method for the update_instance REST call
384
+ #
385
+ # @param request_pb [::Google::Cloud::Memorystore::V1beta::UpdateInstanceRequest]
386
+ # A request object representing the call parameters. Required.
387
+ # @return [Array(String, [String, nil], Hash{String => String})]
388
+ # Uri, Body, Query string parameters
389
+ def self.transcode_update_instance_request request_pb
390
+ transcoder = Gapic::Rest::GrpcTranscoder.new
391
+ .with_bindings(
392
+ uri_method: :patch,
393
+ uri_template: "/v1beta/{instance.name}",
394
+ body: "instance",
395
+ matches: [
396
+ ["instance.name", %r{^projects/[^/]+/locations/[^/]+/instances/[^/]+/?$}, false]
397
+ ]
398
+ )
399
+ transcoder.transcode request_pb
400
+ end
401
+
402
+ ##
403
+ # @private
404
+ #
405
+ # GRPC transcoding helper method for the delete_instance REST call
406
+ #
407
+ # @param request_pb [::Google::Cloud::Memorystore::V1beta::DeleteInstanceRequest]
408
+ # A request object representing the call parameters. Required.
409
+ # @return [Array(String, [String, nil], Hash{String => String})]
410
+ # Uri, Body, Query string parameters
411
+ def self.transcode_delete_instance_request request_pb
412
+ transcoder = Gapic::Rest::GrpcTranscoder.new
413
+ .with_bindings(
414
+ uri_method: :delete,
415
+ uri_template: "/v1beta/{name}",
416
+ matches: [
417
+ ["name", %r{^projects/[^/]+/locations/[^/]+/instances/[^/]+/?$}, false]
418
+ ]
419
+ )
420
+ transcoder.transcode request_pb
421
+ end
422
+
423
+ ##
424
+ # @private
425
+ #
426
+ # GRPC transcoding helper method for the get_certificate_authority REST call
427
+ #
428
+ # @param request_pb [::Google::Cloud::Memorystore::V1beta::GetCertificateAuthorityRequest]
429
+ # A request object representing the call parameters. Required.
430
+ # @return [Array(String, [String, nil], Hash{String => String})]
431
+ # Uri, Body, Query string parameters
432
+ def self.transcode_get_certificate_authority_request request_pb
433
+ transcoder = Gapic::Rest::GrpcTranscoder.new
434
+ .with_bindings(
435
+ uri_method: :get,
436
+ uri_template: "/v1beta/{name}/certificateAuthority",
437
+ matches: [
438
+ ["name", %r{^projects/[^/]+/locations/[^/]+/instances/[^/]+/?$}, false]
439
+ ]
440
+ )
441
+ transcoder.transcode request_pb
442
+ end
443
+ end
444
+ end
445
+ end
446
+ end
447
+ end
448
+ end
449
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/rest"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/memorystore/v1beta/version"
24
+ require "google/cloud/memorystore/v1beta/bindings_override"
25
+
26
+ require "google/cloud/memorystore/v1beta/memorystore/credentials"
27
+ require "google/cloud/memorystore/v1beta/memorystore/paths"
28
+ require "google/cloud/memorystore/v1beta/memorystore/rest/operations"
29
+ require "google/cloud/memorystore/v1beta/memorystore/rest/client"
30
+
31
+ module Google
32
+ module Cloud
33
+ module Memorystore
34
+ module V1beta
35
+ ##
36
+ # Service describing handlers for resources
37
+ #
38
+ # To load this service and instantiate a REST client:
39
+ #
40
+ # require "google/cloud/memorystore/v1beta/memorystore/rest"
41
+ # client = ::Google::Cloud::Memorystore::V1beta::Memorystore::Rest::Client.new
42
+ #
43
+ module Memorystore
44
+ # Client for the REST transport
45
+ module Rest
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+
53
+ helper_path = ::File.join __dir__, "rest", "helpers.rb"
54
+ require "google/cloud/memorystore/v1beta/memorystore/rest/helpers" if ::File.file? helper_path
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/config"
20
+ require "gapic/config/method"
21
+
22
+ require "google/cloud/memorystore/v1beta/version"
23
+
24
+ require "google/cloud/memorystore/v1beta/memorystore/credentials"
25
+ require "google/cloud/memorystore/v1beta/memorystore/paths"
26
+ require "google/cloud/memorystore/v1beta/memorystore/rest"
27
+
28
+ module Google
29
+ module Cloud
30
+ module Memorystore
31
+ module V1beta
32
+ ##
33
+ # Service describing handlers for resources
34
+ #
35
+ # @example Load this service and instantiate a REST client
36
+ #
37
+ # require "google/cloud/memorystore/v1beta/memorystore/rest"
38
+ # client = ::Google::Cloud::Memorystore::V1beta::Memorystore::Rest::Client.new
39
+ #
40
+ module Memorystore
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+
47
+ helper_path = ::File.join __dir__, "memorystore", "helpers.rb"
48
+ require "google/cloud/memorystore/v1beta/memorystore/helpers" if ::File.file? helper_path