gcloud 0.11.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +8 -8
  2. data/AUTHENTICATION.md +3 -3
  3. data/CHANGELOG.md +92 -0
  4. data/OVERVIEW.md +3 -3
  5. data/lib/gcloud.rb +75 -25
  6. data/lib/gcloud/backoff.rb +5 -1
  7. data/lib/gcloud/bigquery.rb +25 -43
  8. data/lib/gcloud/bigquery/copy_job.rb +13 -13
  9. data/lib/gcloud/bigquery/data.rb +20 -16
  10. data/lib/gcloud/bigquery/dataset.rb +202 -177
  11. data/lib/gcloud/bigquery/dataset/access.rb +118 -104
  12. data/lib/gcloud/bigquery/dataset/list.rb +14 -18
  13. data/lib/gcloud/bigquery/extract_job.rb +12 -12
  14. data/lib/gcloud/bigquery/insert_response.rb +12 -14
  15. data/lib/gcloud/bigquery/job.rb +45 -57
  16. data/lib/gcloud/bigquery/job/list.rb +18 -24
  17. data/lib/gcloud/bigquery/load_job.rb +35 -27
  18. data/lib/gcloud/bigquery/project.rb +53 -73
  19. data/lib/gcloud/bigquery/query_data.rb +28 -35
  20. data/lib/gcloud/bigquery/query_job.rb +18 -18
  21. data/lib/gcloud/bigquery/schema.rb +359 -0
  22. data/lib/gcloud/bigquery/service.rb +506 -0
  23. data/lib/gcloud/bigquery/table.rb +185 -266
  24. data/lib/gcloud/bigquery/table/list.rb +15 -19
  25. data/lib/gcloud/bigquery/view.rb +126 -81
  26. data/lib/gcloud/datastore.rb +39 -27
  27. data/lib/gcloud/datastore/commit.rb +2 -2
  28. data/lib/gcloud/datastore/dataset.rb +8 -19
  29. data/lib/gcloud/datastore/dataset/lookup_results.rb +2 -4
  30. data/lib/gcloud/datastore/dataset/query_results.rb +0 -2
  31. data/lib/gcloud/datastore/entity.rb +7 -1
  32. data/lib/gcloud/datastore/errors.rb +5 -27
  33. data/lib/gcloud/datastore/grpc_utils.rb +4 -3
  34. data/lib/gcloud/datastore/key.rb +6 -0
  35. data/lib/gcloud/datastore/service.rb +18 -12
  36. data/lib/gcloud/datastore/transaction.rb +0 -10
  37. data/lib/gcloud/dns.rb +29 -19
  38. data/lib/gcloud/dns/change.rb +10 -15
  39. data/lib/gcloud/dns/change/list.rb +4 -4
  40. data/lib/gcloud/dns/importer.rb +1 -1
  41. data/lib/gcloud/dns/project.rb +32 -49
  42. data/lib/gcloud/dns/record.rb +8 -2
  43. data/lib/gcloud/dns/record/list.rb +4 -4
  44. data/lib/gcloud/dns/service.rb +167 -0
  45. data/lib/gcloud/dns/zone.rb +33 -52
  46. data/lib/gcloud/dns/zone/list.rb +12 -16
  47. data/lib/gcloud/errors.rb +31 -19
  48. data/lib/gcloud/logging.rb +50 -39
  49. data/lib/gcloud/logging/entry.rb +197 -24
  50. data/lib/gcloud/logging/entry/list.rb +0 -2
  51. data/lib/gcloud/logging/logger.rb +1 -1
  52. data/lib/gcloud/logging/metric.rb +3 -9
  53. data/lib/gcloud/logging/metric/list.rb +0 -2
  54. data/lib/gcloud/logging/project.rb +58 -54
  55. data/lib/gcloud/logging/resource_descriptor.rb +2 -2
  56. data/lib/gcloud/logging/resource_descriptor/list.rb +0 -2
  57. data/lib/gcloud/logging/service.rb +32 -23
  58. data/lib/gcloud/logging/sink.rb +8 -14
  59. data/lib/gcloud/logging/sink/list.rb +0 -2
  60. data/lib/gcloud/pubsub.rb +21 -16
  61. data/lib/gcloud/pubsub/policy.rb +204 -0
  62. data/lib/gcloud/pubsub/project.rb +26 -38
  63. data/lib/gcloud/pubsub/service.rb +39 -31
  64. data/lib/gcloud/pubsub/subscription.rb +56 -59
  65. data/lib/gcloud/pubsub/subscription/list.rb +4 -4
  66. data/lib/gcloud/pubsub/topic.rb +69 -66
  67. data/lib/gcloud/pubsub/topic/list.rb +0 -2
  68. data/lib/gcloud/pubsub/topic/{batch.rb → publisher.rb} +15 -2
  69. data/lib/gcloud/resource_manager.rb +27 -26
  70. data/lib/gcloud/resource_manager/manager.rb +19 -39
  71. data/lib/gcloud/resource_manager/policy.rb +211 -0
  72. data/lib/gcloud/resource_manager/project.rb +97 -121
  73. data/lib/gcloud/resource_manager/project/list.rb +7 -7
  74. data/lib/gcloud/resource_manager/project/updater.rb +4 -9
  75. data/lib/gcloud/resource_manager/service.rb +127 -0
  76. data/lib/gcloud/storage.rb +24 -42
  77. data/lib/gcloud/storage/bucket.rb +104 -192
  78. data/lib/gcloud/storage/bucket/acl.rb +47 -143
  79. data/lib/gcloud/storage/bucket/cors.rb +55 -11
  80. data/lib/gcloud/storage/bucket/list.rb +14 -14
  81. data/lib/gcloud/storage/errors.rb +3 -43
  82. data/lib/gcloud/storage/file.rb +114 -111
  83. data/lib/gcloud/storage/file/acl.rb +27 -113
  84. data/lib/gcloud/storage/file/list.rb +21 -21
  85. data/lib/gcloud/storage/project.rb +49 -59
  86. data/lib/gcloud/storage/service.rb +347 -0
  87. data/lib/gcloud/translate.rb +24 -14
  88. data/lib/gcloud/translate/api.rb +12 -21
  89. data/lib/gcloud/translate/detection.rb +5 -5
  90. data/lib/gcloud/translate/language.rb +1 -1
  91. data/lib/gcloud/translate/service.rb +80 -0
  92. data/lib/gcloud/translate/translation.rb +6 -6
  93. data/lib/gcloud/version.rb +1 -1
  94. data/lib/gcloud/vision.rb +24 -15
  95. data/lib/gcloud/vision/annotate.rb +24 -21
  96. data/lib/gcloud/vision/annotation.rb +9 -9
  97. data/lib/gcloud/vision/annotation/entity.rb +11 -11
  98. data/lib/gcloud/vision/annotation/face.rb +25 -25
  99. data/lib/gcloud/vision/annotation/properties.rb +8 -8
  100. data/lib/gcloud/vision/annotation/safe_search.rb +4 -4
  101. data/lib/gcloud/vision/annotation/text.rb +7 -7
  102. data/lib/gcloud/vision/annotation/vertex.rb +1 -1
  103. data/lib/gcloud/vision/image.rb +11 -11
  104. data/lib/gcloud/vision/location.rb +5 -2
  105. data/lib/gcloud/vision/project.rb +14 -16
  106. data/lib/gcloud/vision/service.rb +66 -0
  107. data/lib/google/api_client.rb +0 -0
  108. metadata +27 -24
  109. data/lib/gcloud/bigquery/connection.rb +0 -624
  110. data/lib/gcloud/bigquery/errors.rb +0 -68
  111. data/lib/gcloud/bigquery/table/schema.rb +0 -234
  112. data/lib/gcloud/dns/connection.rb +0 -173
  113. data/lib/gcloud/dns/errors.rb +0 -68
  114. data/lib/gcloud/resource_manager/connection.rb +0 -134
  115. data/lib/gcloud/resource_manager/errors.rb +0 -68
  116. data/lib/gcloud/storage/connection.rb +0 -444
  117. data/lib/gcloud/translate/connection.rb +0 -85
  118. data/lib/gcloud/translate/errors.rb +0 -68
  119. data/lib/gcloud/upload.rb +0 -95
  120. data/lib/gcloud/vision/connection.rb +0 -63
  121. data/lib/gcloud/vision/errors.rb +0 -69
@@ -89,7 +89,7 @@ module Gcloud
89
89
  # @return [String] The opaque entity ID.
90
90
  #
91
91
  def mid
92
- @gapi["mid"]
92
+ @gapi.mid
93
93
  end
94
94
 
95
95
  ##
@@ -101,7 +101,7 @@ module Gcloud
101
101
  # language code.
102
102
  #
103
103
  def locale
104
- @gapi["locale"]
104
+ @gapi.locale
105
105
  end
106
106
 
107
107
  ##
@@ -110,7 +110,7 @@ module Gcloud
110
110
  # @return [String] A description of the entity.
111
111
  #
112
112
  def description
113
- @gapi["description"]
113
+ @gapi.description
114
114
  end
115
115
 
116
116
  ##
@@ -119,7 +119,7 @@ module Gcloud
119
119
  # @return [Float] A value in the range [0, 1].
120
120
  #
121
121
  def score
122
- @gapi["score"]
122
+ @gapi.score
123
123
  end
124
124
 
125
125
  ##
@@ -130,7 +130,7 @@ module Gcloud
130
130
  # @return [Float] A value in the range [0, 1].
131
131
  #
132
132
  def confidence
133
- @gapi["confidence"]
133
+ @gapi.confidence
134
134
  end
135
135
 
136
136
  ##
@@ -143,7 +143,7 @@ module Gcloud
143
143
  # @return [Float] A value in the range [0, 1].
144
144
  #
145
145
  def topicality
146
- @gapi["topicality"]
146
+ @gapi.topicality
147
147
  end
148
148
 
149
149
  ##
@@ -153,8 +153,8 @@ module Gcloud
153
153
  # @return [Array<Vertex>] An array of vertices.
154
154
  #
155
155
  def bounds
156
- return [] unless @gapi["boundingPoly"]
157
- @bounds ||= Array(@gapi["boundingPoly"]["vertices"]).map do |v|
156
+ return [] unless @gapi.bounding_poly
157
+ @bounds ||= Array(@gapi.bounding_poly.vertices).map do |v|
158
158
  Vertex.from_gapi v
159
159
  end
160
160
  end
@@ -170,8 +170,8 @@ module Gcloud
170
170
  # and longitude.
171
171
  #
172
172
  def locations
173
- @locations ||= Array(@gapi["locations"]).map do |l|
174
- Location.from_gapi l["latLng"]
173
+ @locations ||= Array(@gapi.locations).map do |l|
174
+ Location.from_gapi l.lat_lng
175
175
  end
176
176
  end
177
177
 
@@ -184,7 +184,7 @@ module Gcloud
184
184
  #
185
185
  def properties
186
186
  @properties ||=
187
- Hash[Array(@gapi["properties"]).map { |p| [p["name"], p["value"]] }]
187
+ Hash[Array(@gapi.properties).map { |p| [p.name, p.value] }]
188
188
  end
189
189
 
190
190
  ##
@@ -91,7 +91,7 @@ module Gcloud
91
91
  # @return [Float] A value in the range [0, 1].
92
92
  #
93
93
  def confidence
94
- @gapi["detectionConfidence"]
94
+ @gapi.detection_confidence
95
95
  end
96
96
 
97
97
  ##
@@ -169,7 +169,7 @@ module Gcloud
169
169
  # @return [Float] A value in the range [-180,180].
170
170
  #
171
171
  def roll
172
- @gapi["rollAngle"]
172
+ @gapi.roll_angle
173
173
  end
174
174
 
175
175
  ##
@@ -180,7 +180,7 @@ module Gcloud
180
180
  # @return [Float] A value in the range [-180,180].
181
181
  #
182
182
  def yaw
183
- @gapi["panAngle"]
183
+ @gapi.pan_angle
184
184
  end
185
185
  alias_method :pan, :yaw
186
186
 
@@ -191,7 +191,7 @@ module Gcloud
191
191
  # @return [Float] A value in the range [-180,180].
192
192
  #
193
193
  def pitch
194
- @gapi["tiltAngle"]
194
+ @gapi.tilt_angle
195
195
  end
196
196
  alias_method :tilt, :pitch
197
197
 
@@ -289,8 +289,8 @@ module Gcloud
289
289
  # generated in the BoundingPoly (the polygon will be unbounded) if
290
290
  # only a partial face appears in the image to be annotated.
291
291
  def head
292
- return [] unless @gapi["boundingPoly"]
293
- @head ||= Array(@gapi["boundingPoly"]["vertices"]).map do |v|
292
+ return [] unless @gapi.bounding_poly
293
+ @head ||= Array(@gapi.bounding_poly.vertices).map do |v|
294
294
  Vertex.from_gapi v
295
295
  end
296
296
  end
@@ -302,8 +302,8 @@ module Gcloud
302
302
  # visible in an image. It is not based on the landmarks, only on the
303
303
  # initial face detection.
304
304
  def face
305
- return [] unless @gapi["fdBoundingPoly"]
306
- @face ||= Array(@gapi["fdBoundingPoly"]["vertices"]).map do |v|
305
+ return [] unless @gapi.fd_bounding_poly
306
+ @face ||= Array(@gapi.fd_bounding_poly.vertices).map do |v|
307
307
  Vertex.from_gapi v
308
308
  end
309
309
  end
@@ -407,7 +407,7 @@ module Gcloud
407
407
  # @return [Float] A value in the range [0,1].
408
408
  #
409
409
  def confidence
410
- @gapi["landmarkingConfidence"]
410
+ @gapi.landmarking_confidence
411
411
  end
412
412
 
413
413
  ##
@@ -435,8 +435,8 @@ module Gcloud
435
435
  # #=> #<Landmark (x: 303.81198, y: 88.5782, z: 77.719193)>
436
436
  #
437
437
  def [] landmark_type
438
- landmark = Array(@gapi["landmarks"]).detect do |l|
439
- l["type"] == landmark_type
438
+ landmark = Array(@gapi.landmarks).detect do |l|
439
+ l.type == landmark_type
440
440
  end
441
441
  return nil if landmark.nil?
442
442
  Landmark.from_gapi landmark
@@ -635,7 +635,7 @@ module Gcloud
635
635
  # face.features.forehead.type #=> "FOREHEAD_GLABELLA"
636
636
  #
637
637
  def type
638
- @gapi["type"]
638
+ @gapi.type
639
639
  end
640
640
 
641
641
  ##
@@ -644,8 +644,8 @@ module Gcloud
644
644
  # @return [Float]
645
645
  #
646
646
  def x
647
- return nil unless @gapi["position"]
648
- @gapi["position"]["x"]
647
+ return nil unless @gapi.position
648
+ @gapi.position.x
649
649
  end
650
650
 
651
651
  ##
@@ -654,8 +654,8 @@ module Gcloud
654
654
  # @return [Float]
655
655
  #
656
656
  def y
657
- return nil unless @gapi["position"]
658
- @gapi["position"]["y"]
657
+ return nil unless @gapi.position
658
+ @gapi.position.y
659
659
  end
660
660
 
661
661
  ##
@@ -664,8 +664,8 @@ module Gcloud
664
664
  # @return [Float]
665
665
  #
666
666
  def z
667
- return nil unless @gapi["position"]
668
- @gapi["position"]["z"]
667
+ return nil unless @gapi.position
668
+ @gapi.position.z
669
669
  end
670
670
 
671
671
  ##
@@ -1586,7 +1586,7 @@ module Gcloud
1586
1586
  # Joy likelihood rating. Possible values are `VERY_UNLIKELY`,
1587
1587
  # `UNLIKELY`, `POSSIBLE`, `LIKELY`, and `VERY_LIKELY`.
1588
1588
  def joy
1589
- @gapi["joyLikelihood"]
1589
+ @gapi.joy_likelihood
1590
1590
  end
1591
1591
 
1592
1592
  ##
@@ -1603,7 +1603,7 @@ module Gcloud
1603
1603
  # Sorrow likelihood rating. Possible values are `VERY_UNLIKELY`,
1604
1604
  # `UNLIKELY`, `POSSIBLE`, `LIKELY`, and `VERY_LIKELY`.
1605
1605
  def sorrow
1606
- @gapi["sorrowLikelihood"]
1606
+ @gapi.sorrow_likelihood
1607
1607
  end
1608
1608
 
1609
1609
  ##
@@ -1620,7 +1620,7 @@ module Gcloud
1620
1620
  # Joy likelihood rating. Possible values are `VERY_UNLIKELY`,
1621
1621
  # `UNLIKELY`, `POSSIBLE`, `LIKELY`, and `VERY_LIKELY`.
1622
1622
  def anger
1623
- @gapi["angerLikelihood"]
1623
+ @gapi.anger_likelihood
1624
1624
  end
1625
1625
 
1626
1626
  ##
@@ -1637,7 +1637,7 @@ module Gcloud
1637
1637
  # Surprise likelihood rating. Possible values are `VERY_UNLIKELY`,
1638
1638
  # `UNLIKELY`, `POSSIBLE`, `LIKELY`, and `VERY_LIKELY`.
1639
1639
  def surprise
1640
- @gapi["surpriseLikelihood"]
1640
+ @gapi.surprise_likelihood
1641
1641
  end
1642
1642
 
1643
1643
  ##
@@ -1655,7 +1655,7 @@ module Gcloud
1655
1655
  # `VERY_UNLIKELY`, `UNLIKELY`, `POSSIBLE`, `LIKELY`, and
1656
1656
  # `VERY_LIKELY`.
1657
1657
  def under_exposed
1658
- @gapi["underExposedLikelihood"]
1658
+ @gapi.under_exposed_likelihood
1659
1659
  end
1660
1660
 
1661
1661
  ##
@@ -1672,7 +1672,7 @@ module Gcloud
1672
1672
  # Blurred likelihood rating. Possible values are `VERY_UNLIKELY`,
1673
1673
  # `UNLIKELY`, `POSSIBLE`, `LIKELY`, and `VERY_LIKELY`.
1674
1674
  def blurred
1675
- @gapi["blurredLikelihood"]
1675
+ @gapi.blurred_likelihood
1676
1676
  end
1677
1677
 
1678
1678
  ##
@@ -1689,7 +1689,7 @@ module Gcloud
1689
1689
  # Headwear likelihood rating. Possible values are `VERY_UNLIKELY`,
1690
1690
  # `UNLIKELY`, `POSSIBLE`, `LIKELY`, and `VERY_LIKELY`.
1691
1691
  def headwear
1692
- @gapi["headwearLikelihood"]
1692
+ @gapi.headwear_likelihood
1693
1693
  end
1694
1694
 
1695
1695
  ##
@@ -51,8 +51,8 @@ module Gcloud
51
51
  # @return [Array<Color>] An array of the image's dominant colors.
52
52
  #
53
53
  def colors
54
- return [] unless @gapi["dominantColors"]
55
- @colors ||= Array(@gapi["dominantColors"]["colors"]).map do |c|
54
+ return [] unless @gapi.dominant_colors
55
+ @colors ||= Array(@gapi.dominant_colors.colors).map do |c|
56
56
  Color.from_gapi c
57
57
  end
58
58
  end
@@ -150,7 +150,7 @@ module Gcloud
150
150
  # @return [Float] A value in the interval [0, 255].
151
151
  #
152
152
  def red
153
- @gapi["color"]["red"]
153
+ @gapi.color.red
154
154
  end
155
155
 
156
156
  ##
@@ -159,7 +159,7 @@ module Gcloud
159
159
  # @return [Float] A value in the interval [0, 255].
160
160
  #
161
161
  def green
162
- @gapi["color"]["green"]
162
+ @gapi.color.green
163
163
  end
164
164
 
165
165
  ##
@@ -168,7 +168,7 @@ module Gcloud
168
168
  # @return [Float] A value in the interval [0, 255].
169
169
  #
170
170
  def blue
171
- @gapi["color"]["blue"]
171
+ @gapi.color.blue
172
172
  end
173
173
 
174
174
  ##
@@ -179,7 +179,7 @@ module Gcloud
179
179
  # @return [Float] A value in the range [0, 1].
180
180
  #
181
181
  def alpha
182
- @gapi["color"]["alpha"] || 1.0
182
+ @gapi.color.alpha || 1.0
183
183
  end
184
184
 
185
185
  def rgb
@@ -194,7 +194,7 @@ module Gcloud
194
194
  # @return [Float] A value in the range [0, 1].
195
195
  #
196
196
  def score
197
- @gapi["score"]
197
+ @gapi.score
198
198
  end
199
199
 
200
200
  ##
@@ -203,7 +203,7 @@ module Gcloud
203
203
  # @return [Float] A value in the range [0, 1].
204
204
  #
205
205
  def pixel_fraction
206
- @gapi["pixelFraction"]
206
+ @gapi.pixel_fraction
207
207
  end
208
208
 
209
209
  ##
@@ -54,7 +54,7 @@ module Gcloud
54
54
  # Adult likelihood rating. Possible values are `VERY_UNLIKELY`,
55
55
  # `UNLIKELY`, `POSSIBLE`, `LIKELY`, and `VERY_LIKELY`.
56
56
  def adult
57
- @gapi["adult"]
57
+ @gapi.adult
58
58
  end
59
59
 
60
60
  ##
@@ -71,7 +71,7 @@ module Gcloud
71
71
  # Spoof likelihood rating. Possible values are `VERY_UNLIKELY`,
72
72
  # `UNLIKELY`, `POSSIBLE`, `LIKELY`, and `VERY_LIKELY`.
73
73
  def spoof
74
- @gapi["spoof"]
74
+ @gapi.spoof
75
75
  end
76
76
 
77
77
  ##
@@ -88,7 +88,7 @@ module Gcloud
88
88
  # Medical likelihood rating. Possible values are `VERY_UNLIKELY`,
89
89
  # `UNLIKELY`, `POSSIBLE`, `LIKELY`, and `VERY_LIKELY`.
90
90
  def medical
91
- @gapi["medical"]
91
+ @gapi.medical
92
92
  end
93
93
 
94
94
  ##
@@ -105,7 +105,7 @@ module Gcloud
105
105
  # Violence likelihood rating. Possible values are `VERY_UNLIKELY`,
106
106
  # `UNLIKELY`, `POSSIBLE`, `LIKELY`, and `VERY_LIKELY`.
107
107
  def violence
108
- @gapi["violence"]
108
+ @gapi.violence
109
109
  end
110
110
 
111
111
  ##
@@ -55,7 +55,7 @@ module Gcloud
55
55
  # @return [String] The entire text including newline characters.
56
56
  #
57
57
  def text
58
- @gapi["description"]
58
+ @gapi.description
59
59
  end
60
60
 
61
61
  ##
@@ -66,7 +66,7 @@ module Gcloud
66
66
  # language code.
67
67
  #
68
68
  def locale
69
- @gapi["locale"]
69
+ @gapi.locale
70
70
  end
71
71
 
72
72
  ##
@@ -75,8 +75,8 @@ module Gcloud
75
75
  # @return [Array<Vertex>]
76
76
  #
77
77
  def bounds
78
- return [] unless @gapi["boundingPoly"]
79
- @bounds ||= Array(@gapi["boundingPoly"]["vertices"]).map do |v|
78
+ return [] unless @gapi.bounding_poly
79
+ @bounds ||= Array(@gapi.bounding_poly.vertices).map do |v|
80
80
  Vertex.from_gapi v
81
81
  end
82
82
  end
@@ -176,7 +176,7 @@ module Gcloud
176
176
  # @return [String]
177
177
  #
178
178
  def text
179
- @gapi["description"]
179
+ @gapi.description
180
180
  end
181
181
 
182
182
  ##
@@ -185,8 +185,8 @@ module Gcloud
185
185
  # @return [Array<Vertex>]
186
186
  #
187
187
  def bounds
188
- return [] unless @gapi["boundingPoly"]
189
- @bounds ||= Array(@gapi["boundingPoly"]["vertices"]).map do |v|
188
+ return [] unless @gapi.bounding_poly
189
+ @bounds ||= Array(@gapi.bounding_poly.vertices).map do |v|
190
190
  Vertex.from_gapi v
191
191
  end
192
192
  end
@@ -100,7 +100,7 @@ module Gcloud
100
100
  # @private New Annotation::Entity::Bounds::Vertex from a Google API
101
101
  # Client object.
102
102
  def self.from_gapi gapi
103
- new gapi["x"], gapi["y"]
103
+ new gapi.x, gapi.y
104
104
  end
105
105
  end
106
106
  end
@@ -14,6 +14,7 @@
14
14
 
15
15
 
16
16
  require "gcloud/vision/location"
17
+ require "google/apis/vision_v1"
17
18
  require "stringio"
18
19
  require "base64"
19
20
 
@@ -70,8 +71,6 @@ module Gcloud
70
71
  ##
71
72
  # @private Whether the Image has content.
72
73
  #
73
- # @see {#url?}
74
- #
75
74
  def io?
76
75
  !@io.nil?
77
76
  end
@@ -79,8 +78,6 @@ module Gcloud
79
78
  ##
80
79
  # @private Whether the Image is a URL.
81
80
  #
82
- # @see {#io?}
83
- #
84
81
  def url?
85
82
  !@url.nil?
86
83
  end
@@ -358,9 +355,9 @@ module Gcloud
358
355
  def to_gapi
359
356
  if io?
360
357
  @io.rewind
361
- { content: Base64.strict_encode64(@io.read) }
358
+ Google::Apis::VisionV1::Image.new content: @io.read
362
359
  elsif url?
363
- { source: { gcsImageUri: @url } }
360
+ Google::Apis::VisionV1::Image.new source: { gcsImageUri: @url }
364
361
  else
365
362
  fail ArgumentError, "Unable to use Image with Vision service."
366
363
  end
@@ -477,9 +474,9 @@ module Gcloud
477
474
  # @private
478
475
  def to_gapi
479
476
  return nil if empty?
480
- gapi = {}
481
- gapi[:latLongRect] = area.to_hash unless area.empty?
482
- gapi[:languageHints] = languages unless languages.empty?
477
+ gapi = Google::Apis::VisionV1::ImageContext.new
478
+ gapi.lat_long_rect = area.to_gapi unless area.empty?
479
+ gapi.language_hints = languages unless languages.empty?
483
480
  gapi
484
481
  end
485
482
 
@@ -576,12 +573,15 @@ module Gcloud
576
573
  # @return [Hash]
577
574
  #
578
575
  def to_hash
579
- { minLatLng: min.to_hash, maxLatLng: max.to_hash }
576
+ { min_lat_lng: min.to_hash, max_lat_lng: max.to_hash }
580
577
  end
581
578
 
582
579
  def to_gapi
583
580
  return nil if empty?
584
- to_hash
581
+ Google::Apis::VisionV1::LatLongRect.new(
582
+ min_lat_lng: min.to_gapi,
583
+ max_lat_lng: max.to_gapi
584
+ )
585
585
  end
586
586
  end
587
587
  end