google-cloud-vision 0.20.2 → 0.21.0
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/lib/google-cloud-vision.rb +14 -26
- data/lib/google/cloud/vision.rb +108 -91
- data/lib/google/cloud/vision/annotate.rb +23 -25
- data/lib/google/cloud/vision/annotation.rb +58 -77
- data/lib/google/cloud/vision/annotation/entity.rb +24 -27
- data/lib/google/cloud/vision/annotation/face.rb +131 -148
- data/lib/google/cloud/vision/annotation/properties.rb +25 -27
- data/lib/google/cloud/vision/annotation/safe_search.rb +13 -14
- data/lib/google/cloud/vision/annotation/text.rb +27 -29
- data/lib/google/cloud/vision/annotation/vertex.rb +4 -5
- data/lib/google/cloud/vision/image.rb +39 -46
- data/lib/google/cloud/vision/location.rb +8 -9
- data/lib/google/cloud/vision/project.rb +31 -37
- data/lib/google/cloud/vision/service.rb +46 -21
- data/lib/google/cloud/vision/v1/image_annotator_api.rb +22 -6
- data/lib/google/cloud/vision/version.rb +1 -1
- metadata +63 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 327b418796e39bd6b63dcc852e5118650cf14894
|
4
|
+
data.tar.gz: 634d89492078f70090e2ef0d90ca956fa56b2a36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5ba3495829c5814c14e77df4896d83b0005bf983ad1ad5f693483c1d7aa18c455a8ad2cf43ac86e0b59353448af90a69057496b771380dc33c6261348043e03
|
7
|
+
data.tar.gz: fe7cbb4adcd8cb72d9b8e382f3c0f57f70c2a1fc52811c01bf2988e4e01c4c8a7ea9ef03d0b0b171dbefdc22ff4949a8a7067242c1069cfa84739df4bec941a2
|
data/lib/google-cloud-vision.rb
CHANGED
@@ -35,9 +35,9 @@ module Google
|
|
35
35
|
# The default scope is:
|
36
36
|
#
|
37
37
|
# * `https://www.googleapis.com/auth/cloud-platform`
|
38
|
-
# @param [Integer] retries Number of times to retry requests on server
|
39
|
-
# error. The default value is `3`. Optional.
|
40
38
|
# @param [Integer] timeout Default timeout to use in requests. Optional.
|
39
|
+
# @param [Hash] client_config A hash of values to override the default
|
40
|
+
# behavior of the API client. Optional.
|
41
41
|
#
|
42
42
|
# @return [Google::Cloud::Vision::Project]
|
43
43
|
#
|
@@ -59,10 +59,10 @@ module Google
|
|
59
59
|
# platform_scope = "https://www.googleapis.com/auth/cloud-platform"
|
60
60
|
# vision = gcloud.vision scope: platform_scope
|
61
61
|
#
|
62
|
-
def vision scope: nil,
|
62
|
+
def vision scope: nil, timeout: nil, client_config: nil
|
63
63
|
Google::Cloud.vision @project, @keyfile, scope: scope,
|
64
|
-
|
65
|
-
|
64
|
+
timeout: (timeout || @timeout),
|
65
|
+
client_config: client_config
|
66
66
|
end
|
67
67
|
|
68
68
|
##
|
@@ -81,40 +81,28 @@ module Google
|
|
81
81
|
# The default scope is:
|
82
82
|
#
|
83
83
|
# * `https://www.googleapis.com/auth/cloud-platform`
|
84
|
-
# @param [Integer] retries Number of times to retry requests on server
|
85
|
-
# error. The default value is `3`. Optional.
|
86
84
|
# @param [Integer] timeout Default timeout to use in requests. Optional.
|
85
|
+
# @param [Hash] client_config A hash of values to override the default
|
86
|
+
# behavior of the API client. Optional.
|
87
87
|
#
|
88
88
|
# @return [Google::Cloud::Vision::Project]
|
89
89
|
#
|
90
90
|
# @example
|
91
|
-
# require "google/cloud
|
91
|
+
# require "google/cloud"
|
92
92
|
#
|
93
|
-
#
|
94
|
-
# vision = gcloud.vision
|
93
|
+
# vision = Google::Cloud.vision
|
95
94
|
#
|
96
95
|
# image = vision.image "path/to/landmark.jpg"
|
97
96
|
#
|
98
97
|
# landmark = image.landmark
|
99
98
|
# landmark.description #=> "Mount Rushmore"
|
100
99
|
#
|
101
|
-
def self.vision project = nil, keyfile = nil, scope: nil,
|
102
|
-
|
100
|
+
def self.vision project = nil, keyfile = nil, scope: nil, timeout: nil,
|
101
|
+
client_config: nil
|
103
102
|
require "google/cloud/vision"
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
if keyfile.nil?
|
109
|
-
credentials = Google::Cloud::Vision::Credentials.default scope: scope
|
110
|
-
else
|
111
|
-
credentials = Google::Cloud::Vision::Credentials.new \
|
112
|
-
keyfile, scope: scope
|
113
|
-
end
|
114
|
-
|
115
|
-
Google::Cloud::Vision::Project.new(
|
116
|
-
Google::Cloud::Vision::Service.new(
|
117
|
-
project, credentials, retries: retries, timeout: timeout))
|
103
|
+
Google::Cloud::Vision.new project: project, keyfile: keyfile,
|
104
|
+
scope: scope, timeout: timeout,
|
105
|
+
client_config: client_config
|
118
106
|
end
|
119
107
|
end
|
120
108
|
end
|
data/lib/google/cloud/vision.rb
CHANGED
@@ -21,10 +21,10 @@ module Google
|
|
21
21
|
##
|
22
22
|
# # Google Cloud Vision
|
23
23
|
#
|
24
|
-
# Google Cloud Vision allows
|
25
|
-
#
|
26
|
-
# detection, optical character recognition (OCR), and tagging
|
27
|
-
# content.
|
24
|
+
# Google Cloud Vision allows developers to easily integrate vision
|
25
|
+
# detection features within applications, including image labeling, face
|
26
|
+
# and landmark detection, optical character recognition (OCR), and tagging
|
27
|
+
# of explicit content.
|
28
28
|
#
|
29
29
|
# For more information about Cloud Vision, read the [Google Cloud Vision API
|
30
30
|
# Documentation](https://cloud.google.com/vision/docs/).
|
@@ -48,17 +48,16 @@ module Google
|
|
48
48
|
# a request. Reducing your file size can significantly improve throughput;
|
49
49
|
# however, be careful not to reduce image quality in the process. See [Best
|
50
50
|
# Practices - Image
|
51
|
-
# Sizing](https://cloud.google.com/vision/docs/
|
51
|
+
# Sizing](https://cloud.google.com/vision/docs/best-practices#image_sizing)
|
52
52
|
# for current file size limits.
|
53
53
|
#
|
54
54
|
# Use {Vision::Project#image} to create images for the Cloud Vision service.
|
55
55
|
# You can provide a file path:
|
56
56
|
#
|
57
57
|
# ```ruby
|
58
|
-
# require "google/cloud"
|
58
|
+
# require "google/cloud/vision"
|
59
59
|
#
|
60
|
-
#
|
61
|
-
# vision = gcloud.vision
|
60
|
+
# vision = Google::Cloud::Vision.new
|
62
61
|
#
|
63
62
|
# image = vision.image "path/to/landmark.jpg"
|
64
63
|
# ```
|
@@ -66,10 +65,9 @@ module Google
|
|
66
65
|
# Or, you can initialize the image with a Google Cloud Storage URI:
|
67
66
|
#
|
68
67
|
# ```ruby
|
69
|
-
# require "google/cloud"
|
68
|
+
# require "google/cloud/vision"
|
70
69
|
#
|
71
|
-
#
|
72
|
-
# vision = gcloud.vision
|
70
|
+
# vision = Google::Cloud::Vision.new
|
73
71
|
#
|
74
72
|
# image = vision.image "gs://bucket-name/path_to_image_object"
|
75
73
|
# ```
|
@@ -84,10 +82,9 @@ module Google
|
|
84
82
|
# {Vision::Project#annotate}, below.)
|
85
83
|
#
|
86
84
|
# ```ruby
|
87
|
-
# require "google/cloud"
|
85
|
+
# require "google/cloud/vision"
|
88
86
|
#
|
89
|
-
#
|
90
|
-
# vision = gcloud.vision
|
87
|
+
# vision = Google::Cloud::Vision.new
|
91
88
|
#
|
92
89
|
# image = vision.image "path/to/face.jpg"
|
93
90
|
#
|
@@ -104,10 +101,9 @@ module Google
|
|
104
101
|
# (or a string file path or Storage URI) to {Vision::Project#annotate}:
|
105
102
|
#
|
106
103
|
# ```ruby
|
107
|
-
# require "google/cloud"
|
104
|
+
# require "google/cloud/vision"
|
108
105
|
#
|
109
|
-
#
|
110
|
-
# vision = gcloud.vision
|
106
|
+
# vision = Google::Cloud::Vision.new
|
111
107
|
#
|
112
108
|
# image = vision.image "path/to/face.jpg"
|
113
109
|
#
|
@@ -120,10 +116,9 @@ module Google
|
|
120
116
|
# request:
|
121
117
|
#
|
122
118
|
# ```ruby
|
123
|
-
# require "google/cloud"
|
119
|
+
# require "google/cloud/vision"
|
124
120
|
#
|
125
|
-
#
|
126
|
-
# vision = gcloud.vision
|
121
|
+
# vision = Google::Cloud::Vision.new
|
127
122
|
#
|
128
123
|
# face_image = vision.image "path/to/face.jpg"
|
129
124
|
# landmark_image = vision.image "path/to/landmark.jpg"
|
@@ -147,10 +142,9 @@ module Google
|
|
147
142
|
# request to the Cloud Vision API:
|
148
143
|
#
|
149
144
|
# ```ruby
|
150
|
-
# require "google/cloud"
|
145
|
+
# require "google/cloud/vision"
|
151
146
|
#
|
152
|
-
#
|
153
|
-
# vision = gcloud.vision
|
147
|
+
# vision = Google::Cloud::Vision.new
|
154
148
|
#
|
155
149
|
# face_image = vision.image "path/to/face.jpg"
|
156
150
|
# landmark_image = vision.image "path/to/landmark.jpg"
|
@@ -177,10 +171,9 @@ module Google
|
|
177
171
|
# global defaults, you can update the configuration:
|
178
172
|
#
|
179
173
|
# ```ruby
|
180
|
-
# require "google/cloud"
|
174
|
+
# require "google/cloud/vision"
|
181
175
|
#
|
182
|
-
#
|
183
|
-
# vision = gcloud.vision
|
176
|
+
# vision = Google::Cloud::Vision.new
|
184
177
|
#
|
185
178
|
# Google::Cloud::Vision.default_max_faces = 1
|
186
179
|
#
|
@@ -192,10 +185,9 @@ module Google
|
|
192
185
|
# integer instead of a flag:
|
193
186
|
#
|
194
187
|
# ```ruby
|
195
|
-
# require "google/cloud"
|
188
|
+
# require "google/cloud/vision"
|
196
189
|
#
|
197
|
-
#
|
198
|
-
# vision = gcloud.vision
|
190
|
+
# vision = Google::Cloud::Vision.new
|
199
191
|
#
|
200
192
|
# image = vision.image "path/to/face.jpg"
|
201
193
|
#
|
@@ -205,24 +197,14 @@ module Google
|
|
205
197
|
# annotation = vision.annotate image, faces: 5
|
206
198
|
# ```
|
207
199
|
#
|
208
|
-
# ## Configuring
|
200
|
+
# ## Configuring timeout
|
209
201
|
#
|
210
|
-
# You can configure
|
211
|
-
# retried. When an API request fails, the response will be inspected to see
|
212
|
-
# if the request meets criteria indicating that it may succeed on retry,
|
213
|
-
# such as `500` and `503` status codes or a specific internal error code
|
214
|
-
# such as `rateLimitExceeded`. If it meets the criteria, the request will be
|
215
|
-
# retried after a delay. If another error occurs, the delay will be
|
216
|
-
# increased before a subsequent attempt, until the `retries` limit is
|
217
|
-
# reached.
|
218
|
-
#
|
219
|
-
# You can also set the request `timeout` value in seconds.
|
202
|
+
# You can configure the request `timeout` value in seconds.
|
220
203
|
#
|
221
204
|
# ```ruby
|
222
|
-
# require "google/cloud"
|
205
|
+
# require "google/cloud/vision"
|
223
206
|
#
|
224
|
-
#
|
225
|
-
# vision = gcloud.vision retries: 10, timeout: 120
|
207
|
+
# vision = Google::Cloud::Vision.new timeout: 120
|
226
208
|
# ```
|
227
209
|
#
|
228
210
|
module Vision
|
@@ -234,10 +216,9 @@ module Google
|
|
234
216
|
# The default value is `100`.
|
235
217
|
#
|
236
218
|
# @example Using the default setting on {Project#annotate}:
|
237
|
-
# require "google/cloud"
|
219
|
+
# require "google/cloud/vision"
|
238
220
|
#
|
239
|
-
#
|
240
|
-
# vision = gcloud.vision
|
221
|
+
# vision = Google::Cloud::Vision.new
|
241
222
|
#
|
242
223
|
# Google::Cloud::Vision.default_max_faces #=> 100
|
243
224
|
#
|
@@ -246,10 +227,9 @@ module Google
|
|
246
227
|
# # annotation = vision.annotate "path/to/faces.jpg", faces: 100
|
247
228
|
#
|
248
229
|
# @example Updating the default setting on {Project#annotate}:
|
249
|
-
# require "google/cloud"
|
230
|
+
# require "google/cloud/vision"
|
250
231
|
#
|
251
|
-
#
|
252
|
-
# vision = gcloud.vision
|
232
|
+
# vision = Google::Cloud::Vision.new
|
253
233
|
#
|
254
234
|
# # Set a new default
|
255
235
|
# Google::Cloud::Vision.default_max_faces = 5
|
@@ -260,10 +240,9 @@ module Google
|
|
260
240
|
#
|
261
241
|
#
|
262
242
|
# @example Using the default setting on {Image#faces}:
|
263
|
-
# require "google/cloud"
|
243
|
+
# require "google/cloud/vision"
|
264
244
|
#
|
265
|
-
#
|
266
|
-
# vision = gcloud.vision
|
245
|
+
# vision = Google::Cloud::Vision.new
|
267
246
|
#
|
268
247
|
# Google::Cloud::Vision.default_max_faces #=> 100
|
269
248
|
#
|
@@ -272,10 +251,9 @@ module Google
|
|
272
251
|
# # faces = vision.image("path/to/faces.jpg").faces 100
|
273
252
|
#
|
274
253
|
# @example Updating the default setting on {Image#faces}:
|
275
|
-
# require "google/cloud"
|
254
|
+
# require "google/cloud/vision"
|
276
255
|
#
|
277
|
-
#
|
278
|
-
# vision = gcloud.vision
|
256
|
+
# vision = Google::Cloud::Vision.new
|
279
257
|
#
|
280
258
|
# # Set a new default
|
281
259
|
# Google::Cloud::Vision.default_max_faces = 5
|
@@ -293,10 +271,9 @@ module Google
|
|
293
271
|
# The default value is 100.
|
294
272
|
#
|
295
273
|
# @example Using the default setting on {Project#annotate}:
|
296
|
-
# require "google/cloud"
|
274
|
+
# require "google/cloud/vision"
|
297
275
|
#
|
298
|
-
#
|
299
|
-
# vision = gcloud.vision
|
276
|
+
# vision = Google::Cloud::Vision.new
|
300
277
|
#
|
301
278
|
# Google::Cloud::Vision.default_max_landmarks #=> 100
|
302
279
|
#
|
@@ -306,10 +283,9 @@ module Google
|
|
306
283
|
# # annotation = vision.annotate img, landmarks: 100
|
307
284
|
#
|
308
285
|
# @example Updating the default setting on {Project#annotate}:
|
309
|
-
# require "google/cloud"
|
286
|
+
# require "google/cloud/vision"
|
310
287
|
#
|
311
|
-
#
|
312
|
-
# vision = gcloud.vision
|
288
|
+
# vision = Google::Cloud::Vision.new
|
313
289
|
#
|
314
290
|
# # Set a new default
|
315
291
|
# Google::Cloud::Vision.default_max_landmarks = 5
|
@@ -321,10 +297,9 @@ module Google
|
|
321
297
|
#
|
322
298
|
#
|
323
299
|
# @example Using the default setting on {Image#landmarks}:
|
324
|
-
# require "google/cloud"
|
300
|
+
# require "google/cloud/vision"
|
325
301
|
#
|
326
|
-
#
|
327
|
-
# vision = gcloud.vision
|
302
|
+
# vision = Google::Cloud::Vision.new
|
328
303
|
#
|
329
304
|
# Google::Cloud::Vision.default_max_landmarks #=> 100
|
330
305
|
#
|
@@ -333,10 +308,9 @@ module Google
|
|
333
308
|
# # landmarks = vision.image("path/to/landmarks.jpg").landmarks 100
|
334
309
|
#
|
335
310
|
# @example Updating the default setting on {Image#landmarks}:
|
336
|
-
# require "google/cloud"
|
311
|
+
# require "google/cloud/vision"
|
337
312
|
#
|
338
|
-
#
|
339
|
-
# vision = gcloud.vision
|
313
|
+
# vision = Google::Cloud::Vision.new
|
340
314
|
#
|
341
315
|
# # Set a new default
|
342
316
|
# Google::Cloud::Vision.default_max_landmarks = 5
|
@@ -354,10 +328,9 @@ module Google
|
|
354
328
|
# The default value is 100.
|
355
329
|
#
|
356
330
|
# @example Using the default setting on {Project#annotate}:
|
357
|
-
# require "google/cloud"
|
331
|
+
# require "google/cloud/vision"
|
358
332
|
#
|
359
|
-
#
|
360
|
-
# vision = gcloud.vision
|
333
|
+
# vision = Google::Cloud::Vision.new
|
361
334
|
#
|
362
335
|
# Google::Cloud::Vision.default_max_logos #=> 100
|
363
336
|
#
|
@@ -366,10 +339,9 @@ module Google
|
|
366
339
|
# # annotation = vision.annotate "path/to/logos.jpg", logos: 100
|
367
340
|
#
|
368
341
|
# @example Updating the default setting on {Project#annotate}:
|
369
|
-
# require "google/cloud"
|
342
|
+
# require "google/cloud/vision"
|
370
343
|
#
|
371
|
-
#
|
372
|
-
# vision = gcloud.vision
|
344
|
+
# vision = Google::Cloud::Vision.new
|
373
345
|
#
|
374
346
|
# # Set a new default
|
375
347
|
# Google::Cloud::Vision.default_max_logos = 5
|
@@ -380,10 +352,9 @@ module Google
|
|
380
352
|
#
|
381
353
|
#
|
382
354
|
# @example Using the default setting on {Image#logos}:
|
383
|
-
# require "google/cloud"
|
355
|
+
# require "google/cloud/vision"
|
384
356
|
#
|
385
|
-
#
|
386
|
-
# vision = gcloud.vision
|
357
|
+
# vision = Google::Cloud::Vision.new
|
387
358
|
#
|
388
359
|
# Google::Cloud::Vision.default_max_logos #=> 100
|
389
360
|
#
|
@@ -392,10 +363,9 @@ module Google
|
|
392
363
|
# # logos = vision.image("path/to/logos.jpg").logos 100
|
393
364
|
#
|
394
365
|
# @example Updating the default setting on {Image#logos}:
|
395
|
-
# require "google/cloud"
|
366
|
+
# require "google/cloud/vision"
|
396
367
|
#
|
397
|
-
#
|
398
|
-
# vision = gcloud.vision
|
368
|
+
# vision = Google::Cloud::Vision.new
|
399
369
|
#
|
400
370
|
# # Set a new default
|
401
371
|
# Google::Cloud::Vision.default_max_logos = 5
|
@@ -413,10 +383,9 @@ module Google
|
|
413
383
|
# The default value is 100.
|
414
384
|
#
|
415
385
|
# @example Using the default setting on {Project#annotate}:
|
416
|
-
# require "google/cloud"
|
386
|
+
# require "google/cloud/vision"
|
417
387
|
#
|
418
|
-
#
|
419
|
-
# vision = gcloud.vision
|
388
|
+
# vision = Google::Cloud::Vision.new
|
420
389
|
#
|
421
390
|
# Google::Cloud::Vision.default_max_labels #=> 100
|
422
391
|
#
|
@@ -425,10 +394,9 @@ module Google
|
|
425
394
|
# # annotation = vision.annotate "path/to/labels.jpg", labels: 100
|
426
395
|
#
|
427
396
|
# @example Updating the default setting on {Project#annotate}:
|
428
|
-
# require "google/cloud"
|
397
|
+
# require "google/cloud/vision"
|
429
398
|
#
|
430
|
-
#
|
431
|
-
# vision = gcloud.vision
|
399
|
+
# vision = Google::Cloud::Vision.new
|
432
400
|
#
|
433
401
|
# # Set a new default
|
434
402
|
# Google::Cloud::Vision.default_max_labels = 5
|
@@ -439,10 +407,9 @@ module Google
|
|
439
407
|
#
|
440
408
|
#
|
441
409
|
# @example Using the default setting on {Image#labels}:
|
442
|
-
# require "google/cloud"
|
410
|
+
# require "google/cloud/vision"
|
443
411
|
#
|
444
|
-
#
|
445
|
-
# vision = gcloud.vision
|
412
|
+
# vision = Google::Cloud::Vision.new
|
446
413
|
#
|
447
414
|
# Google::Cloud::Vision.default_max_labels #=> 100
|
448
415
|
#
|
@@ -451,10 +418,9 @@ module Google
|
|
451
418
|
# # labels = vision.image("path/to/labels.jpg").labels 100
|
452
419
|
#
|
453
420
|
# @example Updating the default setting on {Image#labels}:
|
454
|
-
# require "google/cloud"
|
421
|
+
# require "google/cloud/vision"
|
455
422
|
#
|
456
|
-
#
|
457
|
-
# vision = gcloud.vision
|
423
|
+
# vision = Google::Cloud::Vision.new
|
458
424
|
#
|
459
425
|
# # Set a new default
|
460
426
|
# Google::Cloud::Vision.default_max_labels = 5
|
@@ -472,6 +438,57 @@ module Google
|
|
472
438
|
self.default_max_landmarks = 100
|
473
439
|
self.default_max_logos = 100
|
474
440
|
self.default_max_labels = 100
|
441
|
+
|
442
|
+
##
|
443
|
+
# Creates a new object for connecting to the Vision service.
|
444
|
+
# Each call creates a new connection.
|
445
|
+
#
|
446
|
+
# @param [String] project Project identifier for the Vision service you
|
447
|
+
# are connecting to.
|
448
|
+
# @param [String, Hash] keyfile Keyfile downloaded from Google Cloud. If
|
449
|
+
# file path the file must be readable.
|
450
|
+
# @param [String, Array<String>] scope The OAuth 2.0 scopes controlling
|
451
|
+
# the set of resources and operations that the connection can access.
|
452
|
+
# See [Using OAuth 2.0 to Access Google
|
453
|
+
# APIs](https://developers.google.com/identity/protocols/OAuth2).
|
454
|
+
#
|
455
|
+
# The default scope is:
|
456
|
+
#
|
457
|
+
# * `https://www.googleapis.com/auth/cloud-platform`
|
458
|
+
# @param [Integer] timeout Default timeout to use in requests. Optional.
|
459
|
+
# @param [Hash] client_config A hash of values to override the default
|
460
|
+
# behavior of the API client. Optional.
|
461
|
+
#
|
462
|
+
# @return [Google::Cloud::Vision::Project]
|
463
|
+
#
|
464
|
+
# @example
|
465
|
+
# require "google/cloud/vision"
|
466
|
+
#
|
467
|
+
# vision = Google::Cloud::Vision.new
|
468
|
+
#
|
469
|
+
# image = vision.image "path/to/landmark.jpg"
|
470
|
+
#
|
471
|
+
# landmark = image.landmark
|
472
|
+
# landmark.description #=> "Mount Rushmore"
|
473
|
+
#
|
474
|
+
def self.new project: nil, keyfile: nil, scope: nil, timeout: nil,
|
475
|
+
client_config: nil
|
476
|
+
project ||= Google::Cloud::Vision::Project.default_project
|
477
|
+
project = project.to_s # Always cast to a string
|
478
|
+
fail ArgumentError, "project is missing" if project.empty?
|
479
|
+
|
480
|
+
if keyfile.nil?
|
481
|
+
credentials = Google::Cloud::Vision::Credentials.default scope: scope
|
482
|
+
else
|
483
|
+
credentials = Google::Cloud::Vision::Credentials.new \
|
484
|
+
keyfile, scope: scope
|
485
|
+
end
|
486
|
+
|
487
|
+
Google::Cloud::Vision::Project.new(
|
488
|
+
Google::Cloud::Vision::Service.new(
|
489
|
+
project, credentials, timeout: timeout,
|
490
|
+
client_config: client_config))
|
491
|
+
end
|
475
492
|
end
|
476
493
|
end
|
477
494
|
end
|