google-cloud-storage 1.13.0 → 1.13.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 005b0793cbed00c606d35b048008ab0621d10b7a17a5c7bddb8c7394a20af699
4
- data.tar.gz: 04c41b836c797cc2b57d4f6bf877d4c85e9643cd9bb1d6c3bf9257187b505410
3
+ metadata.gz: 2ce659678f9b9f504dd5836bd4985ef9b92f9f6bc41e9ef7919effbed5967ad0
4
+ data.tar.gz: b4bdce219f6973d4f1ad1ba28501549b0c21ceb2b4fba993ecad37a972b18316
5
5
  SHA512:
6
- metadata.gz: 8b457e4df6fdae134b017fbb78b539d7549679b80cb6c67ab44c3299a011fe918869b1cfc5b6a5d35de6f600db01ca405920afa4f049a86e05358a964d2358c3
7
- data.tar.gz: 48d8ed7a3c98364256e780d3d9d9d87498354d3a1f237a35397835d3d501daf228366f31f081ea4c71e5101f3c2c7b4f0b73beb52b7d8a6c214782d372313ecd
6
+ metadata.gz: 8ffdeb63b4ecb7aa95644e00ae5d60e244706814e2667314f00448a7cb42b677c4b0ceb8f64bae464984af82108d1fea2953539e77c985e18f381d56251acffe
7
+ data.tar.gz: 248716f033cdda7a205ed1711585d637be2a8dce3b6f0888e5ad1bb83da28ac06423115e93e7f4f266a4e9c327984c80036d42f87ebbdcdb99dfc0ce6be718a1
data/.yardopts CHANGED
@@ -1,6 +1,7 @@
1
1
  --no-private
2
2
  --title=Google Cloud Storage
3
3
  --markup markdown
4
+ --markup-provider redcarpet
4
5
 
5
6
  ./lib/**/*.rb
6
7
  -
data/README.md CHANGED
@@ -60,14 +60,14 @@ Google::Apis.logger = my_logger
60
60
 
61
61
  ## Supported Ruby Versions
62
62
 
63
- This library is supported on Ruby 2.0+.
64
-
65
- However, Ruby 2.3 or later is strongly recommended, as earlier releases have
66
- reached or are nearing end-of-life. After June 1, 2018, Google will provide
67
- official support only for Ruby versions that are considered current and
68
- supported by Ruby Core (that is, Ruby versions that are either in normal
69
- maintenance or in security maintenance).
70
- See https://www.ruby-lang.org/en/downloads/branches/ for further details.
63
+ This library is supported on Ruby 2.3+.
64
+
65
+ Google provides official support for Ruby versions that are actively supported
66
+ by Ruby Core—that is, Ruby versions that are either in normal maintenance or
67
+ in security maintenance, and not end of life. Currently, this means Ruby 2.3
68
+ and later. Older versions of Ruby _may_ still work, but are unsupported and not
69
+ recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
70
+ about the Ruby support schedule.
71
71
 
72
72
  ## Versioning
73
73
 
@@ -86,30 +86,45 @@ module Google
86
86
  ##
87
87
  # The kind of item this is.
88
88
  # For buckets, this is always `storage#bucket`.
89
+ #
90
+ # @return [String]
91
+ #
89
92
  def kind
90
93
  @gapi.kind
91
94
  end
92
95
 
93
96
  ##
94
97
  # The ID of the bucket.
98
+ #
99
+ # @return [String]
100
+ #
95
101
  def id
96
102
  @gapi.id
97
103
  end
98
104
 
99
105
  ##
100
106
  # The name of the bucket.
107
+ #
108
+ # @return [String]
109
+ #
101
110
  def name
102
111
  @gapi.name
103
112
  end
104
113
 
105
114
  ##
106
115
  # A URL that can be used to access the bucket using the REST API.
116
+ #
117
+ # @return [String]
118
+ #
107
119
  def api_url
108
120
  @gapi.self_link
109
121
  end
110
122
 
111
123
  ##
112
124
  # Creation time of the bucket.
125
+ #
126
+ # @return [DateTime]
127
+ #
113
128
  def created_at
114
129
  @gapi.time_created
115
130
  end
@@ -131,6 +146,8 @@ module Google
131
146
  # @yield [cors] a block for setting CORS rules
132
147
  # @yieldparam [Bucket::Cors] cors the object accepting CORS rules
133
148
  #
149
+ # @return [Bucket::Cors] The frozen builder object.
150
+ #
134
151
  # @example Retrieving the bucket's CORS rules.
135
152
  # require "google/cloud/storage"
136
153
  #
@@ -177,7 +194,10 @@ module Google
177
194
  # storage within this region. Defaults to US.
178
195
  # See the developer's guide for the authoritative list.
179
196
  #
197
+ # @return [String]
198
+ #
180
199
  # @see https://cloud.google.com/storage/docs/concepts-techniques
200
+ #
181
201
  def location
182
202
  @gapi.location
183
203
  end
@@ -185,6 +205,8 @@ module Google
185
205
  ##
186
206
  # The destination bucket name for the bucket's logs.
187
207
  #
208
+ # @return [String]
209
+ #
188
210
  # @see https://cloud.google.com/storage/docs/access-logs Access Logs
189
211
  #
190
212
  def logging_bucket
@@ -209,6 +231,8 @@ module Google
209
231
  #
210
232
  # @see https://cloud.google.com/storage/docs/access-logs Access Logs
211
233
  #
234
+ # @return [String]
235
+ #
212
236
  def logging_prefix
213
237
  @gapi.logging.log_object_prefix if @gapi.logging
214
238
  end
@@ -223,6 +247,8 @@ module Google
223
247
  #
224
248
  # @see https://cloud.google.com/storage/docs/access-logs Access Logs
225
249
  #
250
+ # @param [String] logging_prefix The logging object prefix.
251
+ #
226
252
  def logging_prefix= logging_prefix
227
253
  @gapi.logging ||= Google::Apis::StorageV1::Bucket::Logging.new
228
254
  @gapi.logging.log_object_prefix = logging_prefix
@@ -234,6 +260,9 @@ module Google
234
260
  # stored and determines the SLA and the cost of storage. Values include
235
261
  # `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, and
236
262
  # `DURABLE_REDUCED_AVAILABILITY`.
263
+ #
264
+ # @return [String]
265
+ #
237
266
  def storage_class
238
267
  @gapi.storage_class
239
268
  end
@@ -245,7 +274,9 @@ module Google
245
274
  # and `:coldline`, as well as the equivalent strings returned by
246
275
  # {Bucket#storage_class}. For more information, see [Storage
247
276
  # Classes](https://cloud.google.com/storage/docs/storage-classes).
277
+ #
248
278
  # @param [Symbol, String] new_storage_class Storage class of the bucket.
279
+ #
249
280
  def storage_class= new_storage_class
250
281
  @gapi.storage_class = storage_class_for(new_storage_class)
251
282
  patch_gapi! :storage_class
@@ -255,6 +286,9 @@ module Google
255
286
  # Whether [Object
256
287
  # Versioning](https://cloud.google.com/storage/docs/object-versioning)
257
288
  # is enabled for the bucket.
289
+ #
290
+ # @return [Boolean]
291
+ #
258
292
  def versioning?
259
293
  @gapi.versioning.enabled? unless @gapi.versioning.nil?
260
294
  end
@@ -264,7 +298,8 @@ module Google
264
298
  # Versioning](https://cloud.google.com/storage/docs/object-versioning)
265
299
  # is enabled for the bucket.
266
300
  #
267
- # @return [Boolean]
301
+ # @param [Boolean] new_versioning true if versioning is to be enabled
302
+ # for the bucket.
268
303
  #
269
304
  def versioning= new_versioning
270
305
  @gapi.versioning ||= Google::Apis::StorageV1::Bucket::Versioning.new
@@ -273,23 +308,29 @@ module Google
273
308
  end
274
309
 
275
310
  ##
276
- # The index page returned from a static website served from the bucket
277
- # when a site visitor requests the top level directory.
311
+ # The main page suffix for a static website. If the requested object
312
+ # path is missing, the service will ensure the path has a trailing '/',
313
+ # append this suffix, and attempt to retrieve the resulting object. This
314
+ # allows the creation of index.html objects to represent directory
315
+ # pages.
278
316
  #
279
317
  # @see https://cloud.google.com/storage/docs/website-configuration#step4
280
318
  # How to Host a Static Website
281
319
  #
320
+ # @return [String] The main page suffix.
321
+ #
282
322
  def website_main
283
323
  @gapi.website.main_page_suffix if @gapi.website
284
324
  end
285
325
 
286
326
  ##
287
- # Updates the index page returned from a static website served from the
288
- # bucket when a site visitor requests the top level directory.
327
+ # Updates the main page suffix for a static website.
289
328
  #
290
329
  # @see https://cloud.google.com/storage/docs/website-configuration#step4
291
330
  # How to Host a Static Website
292
331
  #
332
+ # @param [String] website_main The main page suffix.
333
+ #
293
334
  def website_main= website_main
294
335
  @gapi.website ||= Google::Apis::StorageV1::Bucket::Website.new
295
336
  @gapi.website.main_page_suffix = website_main
@@ -303,6 +344,8 @@ module Google
303
344
  # @see https://cloud.google.com/storage/docs/website-configuration#step4
304
345
  # How to Host a Static Website
305
346
  #
347
+ # @return [String]
348
+ #
306
349
  def website_404
307
350
  @gapi.website.not_found_page if @gapi.website
308
351
  end
@@ -310,6 +353,9 @@ module Google
310
353
  ##
311
354
  # A hash of user-provided labels. The hash is frozen and changes are not
312
355
  # allowed.
356
+ #
357
+ # @return [Hash(String => String)]
358
+ #
313
359
  def labels
314
360
  m = @gapi.labels
315
361
  m = m.to_h if m.respond_to? :to_h
@@ -318,6 +364,9 @@ module Google
318
364
 
319
365
  ##
320
366
  # Updates the hash of user-provided labels.
367
+ #
368
+ # @param [Hash(String => String)] labels The user-provided labels.
369
+ #
321
370
  def labels= labels
322
371
  @gapi.labels = labels
323
372
  patch_gapi! :labels
@@ -406,7 +455,7 @@ module Google
406
455
  # Set the Cloud KMS encryption key that will be used to protect files.
407
456
  # For example: `projects/a/locations/b/keyRings/c/cryptoKeys/d`
408
457
  #
409
- # @param [String] new_default_kms_key New Cloud KMS key name
458
+ # @param [String] new_default_kms_key New Cloud KMS key name.
410
459
  #
411
460
  # @example
412
461
  # require "google/cloud/storage"
@@ -972,6 +1021,8 @@ module Google
972
1021
  # corresponding values. (These values can be permanently set using
973
1022
  # {File#content_disposition=} and {File#content_type=}.)
974
1023
  #
1024
+ # @return [String]
1025
+ #
975
1026
  # @example
976
1027
  # require "google/cloud/storage"
977
1028
  #
@@ -1136,7 +1187,7 @@ module Google
1136
1187
  end
1137
1188
 
1138
1189
  ##
1139
- # The Bucket::Acl instance used to control access to the bucket.
1190
+ # The {Bucket::Acl} instance used to control access to the bucket.
1140
1191
  #
1141
1192
  # A bucket has owners, writers, and readers. Permissions can be granted
1142
1193
  # to an individual user's email address, a group's email address, as
@@ -1145,6 +1196,8 @@ module Google
1145
1196
  # @see https://cloud.google.com/storage/docs/access-control Access
1146
1197
  # Control guide
1147
1198
  #
1199
+ # @return [Bucket::Acl]
1200
+ #
1148
1201
  # @example Grant access to a user by prepending `"user-"` to an email:
1149
1202
  # require "google/cloud/storage"
1150
1203
  #
@@ -1179,8 +1232,8 @@ module Google
1179
1232
  end
1180
1233
 
1181
1234
  ##
1182
- # The Bucket::DefaultAcl instance used to control access to the bucket's
1183
- # files.
1235
+ # The {Bucket::DefaultAcl} instance used to control access to the
1236
+ # bucket's files.
1184
1237
  #
1185
1238
  # A bucket's files have owners, writers, and readers. Permissions can be
1186
1239
  # granted to an individual user's email address, a group's email
@@ -1189,6 +1242,8 @@ module Google
1189
1242
  # @see https://cloud.google.com/storage/docs/access-control Access
1190
1243
  # Control guide
1191
1244
  #
1245
+ # @return [Bucket::DefaultAcl]
1246
+ #
1192
1247
  # @example Grant access to a user by prepending `"user-"` to an email:
1193
1248
  # require "google/cloud/storage"
1194
1249
  #
@@ -1490,6 +1545,7 @@ module Google
1490
1545
 
1491
1546
  ##
1492
1547
  # Reloads the bucket with current data from the Storage service.
1548
+ #
1493
1549
  def reload!
1494
1550
  ensure_service!
1495
1551
  @gapi = service.get_bucket name, user_project: user_project
@@ -1501,6 +1557,9 @@ module Google
1501
1557
 
1502
1558
  ##
1503
1559
  # Determines whether the bucket exists in the Storage service.
1560
+ #
1561
+ # @return [Boolean] true if the bucket exists in the Storage service.
1562
+ #
1504
1563
  def exists?
1505
1564
  # Always true if we have a grpc object
1506
1565
  return true unless lazy?
@@ -1607,12 +1666,18 @@ module Google
1607
1666
 
1608
1667
  ##
1609
1668
  # A hash of user-provided labels. Changes are allowed.
1669
+ #
1670
+ # @return [Hash(String => String)]
1671
+ #
1610
1672
  def labels
1611
1673
  @labels
1612
1674
  end
1613
1675
 
1614
1676
  ##
1615
1677
  # Updates the hash of user-provided labels.
1678
+ #
1679
+ # @param [Hash(String => String)] labels The user-provided labels.
1680
+ #
1616
1681
  def labels= labels
1617
1682
  @labels = labels
1618
1683
  @gapi.labels = @labels
@@ -172,6 +172,8 @@ module Google
172
172
  # * allUsers
173
173
  # * allAuthenticatedUsers
174
174
  #
175
+ # @return [String] The entity.
176
+ #
175
177
  # @example Grant access to a user by prepending `"user-"` to an email:
176
178
  # require "google/cloud/storage"
177
179
  #
@@ -215,6 +217,8 @@ module Google
215
217
  # * allUsers
216
218
  # * allAuthenticatedUsers
217
219
  #
220
+ # @return [String] The entity.
221
+ #
218
222
  # @example Grant access to a user by prepending `"user-"` to an email:
219
223
  # require "google/cloud/storage"
220
224
  #
@@ -258,6 +262,8 @@ module Google
258
262
  # * allUsers
259
263
  # * allAuthenticatedUsers
260
264
  #
265
+ # @return [String] The entity.
266
+ #
261
267
  # @example Grant access to a user by prepending `"user-"` to an email:
262
268
  # require "google/cloud/storage"
263
269
  #
@@ -302,6 +308,8 @@ module Google
302
308
  # * allUsers
303
309
  # * allAuthenticatedUsers
304
310
  #
311
+ # @return [Boolean]
312
+ #
305
313
  # @example
306
314
  # require "google/cloud/storage"
307
315
  #
@@ -108,24 +108,36 @@ module Google
108
108
  ##
109
109
  # The kind of item this is.
110
110
  # For files, this is always storage#object.
111
+ #
112
+ # @return [String]
113
+ #
111
114
  def kind
112
115
  @gapi.kind
113
116
  end
114
117
 
115
118
  ##
116
119
  # The ID of the file.
120
+ #
121
+ # @return [String]
122
+ #
117
123
  def id
118
124
  @gapi.id
119
125
  end
120
126
 
121
127
  ##
122
128
  # The name of this file.
129
+ #
130
+ # @return [String]
131
+ #
123
132
  def name
124
133
  @gapi.name
125
134
  end
126
135
 
127
136
  ##
128
137
  # The name of the {Bucket} containing this file.
138
+ #
139
+ # @return [String]
140
+ #
129
141
  def bucket
130
142
  @gapi.bucket
131
143
  end
@@ -133,6 +145,9 @@ module Google
133
145
  ##
134
146
  # The content generation of this file.
135
147
  # Used for object versioning.
148
+ #
149
+ # @return [Fixnum]
150
+ #
136
151
  def generation
137
152
  @gapi.generation
138
153
  end
@@ -142,30 +157,45 @@ module Google
142
157
  # Used for preconditions and for detecting changes in metadata.
143
158
  # A metageneration number is only meaningful in the context of a
144
159
  # particular generation of a particular file.
160
+ #
161
+ # @return [Fixnum]
162
+ #
145
163
  def metageneration
146
164
  @gapi.metageneration
147
165
  end
148
166
 
149
167
  ##
150
168
  # A URL that can be used to access the file using the REST API.
169
+ #
170
+ # @return [String]
171
+ #
151
172
  def api_url
152
173
  @gapi.self_link
153
174
  end
154
175
 
155
176
  ##
156
177
  # A URL that can be used to download the file using the REST API.
178
+ #
179
+ # @return [String]
180
+ #
157
181
  def media_url
158
182
  @gapi.media_link
159
183
  end
160
184
 
161
185
  ##
162
186
  # Content-Length of the data in bytes.
187
+ #
188
+ # @return [Integer]
189
+ #
163
190
  def size
164
191
  @gapi.size.to_i if @gapi.size
165
192
  end
166
193
 
167
194
  ##
168
195
  # Creation time of the file.
196
+ #
197
+ # @return [DateTime]
198
+ #
169
199
  def created_at
170
200
  @gapi.time_created
171
201
  end
@@ -174,12 +204,18 @@ module Google
174
204
  # The creation or modification time of the file.
175
205
  # For buckets with versioning enabled, changing an object's
176
206
  # metadata does not change this property.
207
+ #
208
+ # @return [DateTime]
209
+ #
177
210
  def updated_at
178
211
  @gapi.updated
179
212
  end
180
213
 
181
214
  ##
182
215
  # MD5 hash of the data; encoded using base64.
216
+ #
217
+ # @return [String]
218
+ #
183
219
  def md5
184
220
  @gapi.md5_hash
185
221
  end
@@ -188,19 +224,29 @@ module Google
188
224
  # The CRC32c checksum of the data, as described in
189
225
  # [RFC 4960, Appendix B](http://tools.ietf.org/html/rfc4960#appendix-B).
190
226
  # Encoded using base64 in big-endian byte order.
227
+ #
228
+ # @return [String]
229
+ #
191
230
  def crc32c
192
231
  @gapi.crc32c
193
232
  end
194
233
 
195
234
  ##
196
235
  # HTTP 1.1 Entity tag for the file.
236
+ #
237
+ # @return [String]
238
+ #
197
239
  def etag
198
240
  @gapi.etag
199
241
  end
200
242
 
201
243
  ##
202
244
  # The [Cache-Control](https://tools.ietf.org/html/rfc7234#section-5.2)
203
- # directive for the file data.
245
+ # directive for the file data. If omitted, and the file is accessible
246
+ # to all anonymous users, the default will be `public, max-age=3600`.
247
+ #
248
+ # @return [String]
249
+ #
204
250
  def cache_control
205
251
  @gapi.cache_control
206
252
  end
@@ -208,7 +254,11 @@ module Google
208
254
  ##
209
255
  # Updates the
210
256
  # [Cache-Control](https://tools.ietf.org/html/rfc7234#section-5.2)
211
- # directive for the file data.
257
+ # directive for the file data. If omitted, and the file is accessible
258
+ # to all anonymous users, the default will be `public, max-age=3600`.
259
+ #
260
+ # @param [String] cache_control The Cache-Control directive.
261
+ #
212
262
  def cache_control= cache_control
213
263
  @gapi.cache_control = cache_control
214
264
  update_gapi! :cache_control
@@ -217,6 +267,9 @@ module Google
217
267
  ##
218
268
  # The [Content-Disposition](https://tools.ietf.org/html/rfc6266) of the
219
269
  # file data.
270
+ #
271
+ # @return [String]
272
+ #
220
273
  def content_disposition
221
274
  @gapi.content_disposition
222
275
  end
@@ -224,6 +277,10 @@ module Google
224
277
  ##
225
278
  # Updates the [Content-Disposition](https://tools.ietf.org/html/rfc6266)
226
279
  # of the file data.
280
+ #
281
+ # @param [String] content_disposition The Content-Disposition of the
282
+ # file.
283
+ #
227
284
  def content_disposition= content_disposition
228
285
  @gapi.content_disposition = content_disposition
229
286
  update_gapi! :content_disposition
@@ -233,6 +290,9 @@ module Google
233
290
  # The [Content-Encoding
234
291
  # ](https://tools.ietf.org/html/rfc7231#section-3.1.2.2) of the file
235
292
  # data.
293
+ #
294
+ # @return [String]
295
+ #
236
296
  def content_encoding
237
297
  @gapi.content_encoding
238
298
  end
@@ -241,6 +301,9 @@ module Google
241
301
  # Updates the [Content-Encoding
242
302
  # ](https://tools.ietf.org/html/rfc7231#section-3.1.2.2) of the file
243
303
  # data.
304
+ #
305
+ # @param [String] content_encoding The Content-Encoding of the file.
306
+ #
244
307
  def content_encoding= content_encoding
245
308
  @gapi.content_encoding = content_encoding
246
309
  update_gapi! :content_encoding
@@ -249,6 +312,9 @@ module Google
249
312
  ##
250
313
  # The [Content-Language](http://tools.ietf.org/html/bcp47) of the file
251
314
  # data.
315
+ #
316
+ # @return [String]
317
+ #
252
318
  def content_language
253
319
  @gapi.content_language
254
320
  end
@@ -256,6 +322,9 @@ module Google
256
322
  ##
257
323
  # Updates the [Content-Language](http://tools.ietf.org/html/bcp47) of
258
324
  # the file data.
325
+ #
326
+ # @param [String] content_language The Content-Language of the file.
327
+ #
259
328
  def content_language= content_language
260
329
  @gapi.content_language = content_language
261
330
  update_gapi! :content_language
@@ -264,6 +333,9 @@ module Google
264
333
  ##
265
334
  # The [Content-Type](https://tools.ietf.org/html/rfc2616#section-14.17)
266
335
  # of the file data.
336
+ #
337
+ # @return [String]
338
+ #
267
339
  def content_type
268
340
  @gapi.content_type
269
341
  end
@@ -272,6 +344,9 @@ module Google
272
344
  # Updates the
273
345
  # [Content-Type](https://tools.ietf.org/html/rfc2616#section-14.17) of
274
346
  # the file data.
347
+ #
348
+ # @param [String] content_type The Content-Type of the file.
349
+ #
275
350
  def content_type= content_type
276
351
  @gapi.content_type = content_type
277
352
  update_gapi! :content_type
@@ -281,6 +356,9 @@ module Google
281
356
  # A hash of custom, user-provided web-safe keys and arbitrary string
282
357
  # values that will returned with requests for the file as "x-goog-meta-"
283
358
  # response headers.
359
+ #
360
+ # @return [Hash(String => String)]
361
+ #
284
362
  def metadata
285
363
  m = @gapi.metadata
286
364
  m = m.to_h if m.respond_to? :to_h
@@ -291,6 +369,10 @@ module Google
291
369
  # Updates the hash of custom, user-provided web-safe keys and arbitrary
292
370
  # string values that will returned with requests for the file as
293
371
  # "x-goog-meta-" response headers.
372
+ #
373
+ # @param [Hash(String => String)] metadata The user-provided metadata,
374
+ # in key/value pairs.
375
+ #
294
376
  def metadata= metadata
295
377
  @gapi.metadata = metadata
296
378
  update_gapi! :metadata
@@ -303,6 +385,9 @@ module Google
303
385
  # key](https://cloud.google.com/storage/docs/encryption#customer-supplied).
304
386
  # You can use this SHA256 hash to uniquely identify the AES-256
305
387
  # encryption key required to decrypt this file.
388
+ #
389
+ # @return [String]
390
+ #
306
391
  def encryption_key_sha256
307
392
  return nil unless @gapi.customer_encryption
308
393
  Base64.decode64 @gapi.customer_encryption.key_sha256
@@ -318,9 +403,6 @@ module Google
318
403
  # @return [String, nil] A Cloud KMS encryption key, or `nil` if none has
319
404
  # been configured.
320
405
  #
321
- # @see https://cloud.google.com/kms/docs/ Cloud Key Management Service
322
- # Documentation
323
- #
324
406
  def kms_key
325
407
  @gapi.kms_key_name
326
408
  end
@@ -332,6 +414,9 @@ module Google
332
414
  # Classes](https://cloud.google.com/storage/docs/storage-classes) and
333
415
  # [Per-Object Storage
334
416
  # Class](https://cloud.google.com/storage/docs/per-object-storage-class).
417
+ #
418
+ # @return [String]
419
+ #
335
420
  def storage_class
336
421
  @gapi.storage_class
337
422
  end
@@ -352,7 +437,9 @@ module Google
352
437
  # Class](https://cloud.google.com/storage/docs/per-object-storage-class).
353
438
  # The default value is the default storage class for the bucket. See
354
439
  # {Bucket#storage_class}.
440
+ #
355
441
  # @param [Symbol, String] storage_class Storage class of the file.
442
+ #
356
443
  def storage_class= storage_class
357
444
  @gapi.storage_class = storage_class_for(storage_class)
358
445
  update_gapi! :storage_class
@@ -366,7 +453,7 @@ module Google
366
453
  # version. You can turn versioning on or off for a bucket at any time
367
454
  # with {Bucket#versioning=}. Turning versioning off leaves existing file
368
455
  # versions in place and causes the bucket to stop accumulating new
369
- # archived object versions. (See {Bucket#versioning} and
456
+ # archived object versions. (See {Bucket#versioning?} and
370
457
  # {File#generation})
371
458
  #
372
459
  # @see https://cloud.google.com/storage/docs/object-versioning Object
@@ -952,12 +1039,12 @@ module Google
952
1039
  ##
953
1040
  # Permanently deletes the file.
954
1041
  #
955
- # @return [Boolean] Returns `true` if the file was deleted.
956
1042
  # @param [Boolean, Integer] generation Specify a version of the file to
957
1043
  # delete. When `true`, it will delete the version returned by
958
1044
  # {#generation}. The default behavior is to delete the latest version
959
1045
  # of the file (regardless of the version to which the file is set,
960
1046
  # which is the version returned by {#generation}.)
1047
+ # @return [Boolean] Returns `true` if the file was deleted.
961
1048
  #
962
1049
  # @example
963
1050
  # require "google/cloud/storage"
@@ -1009,6 +1096,8 @@ module Google
1009
1096
  # @param [String] protocol The protocol to use for the URL. Default is
1010
1097
  # `HTTPS`.
1011
1098
  #
1099
+ # @return [String]
1100
+ #
1012
1101
  # @example
1013
1102
  # require "google/cloud/storage"
1014
1103
  #
@@ -1081,6 +1170,8 @@ module Google
1081
1170
  # corresponding values. (These values can be permanently set using
1082
1171
  # {#content_disposition=} and {#content_type=}.)
1083
1172
  #
1173
+ # @return [String]
1174
+ #
1084
1175
  # @example
1085
1176
  # require "google/cloud/storage"
1086
1177
  #
@@ -1149,6 +1240,8 @@ module Google
1149
1240
  # @see https://cloud.google.com/storage/docs/access-control Access
1150
1241
  # Control guide
1151
1242
  #
1243
+ # @return [File::Acl]
1244
+ #
1152
1245
  # @example Grant access to a user by prepending `"user-"` to an email:
1153
1246
  # require "google/cloud/storage"
1154
1247
  #
@@ -1423,6 +1516,9 @@ module Google
1423
1516
  # A hash of custom, user-provided web-safe keys and arbitrary string
1424
1517
  # values that will returned with requests for the file as
1425
1518
  # "x-goog-meta-" response headers.
1519
+ #
1520
+ # @return [Hash(String => String)]
1521
+ #
1426
1522
  def metadata
1427
1523
  @metadata
1428
1524
  end
@@ -1431,6 +1527,10 @@ module Google
1431
1527
  # Updates the hash of custom, user-provided web-safe keys and
1432
1528
  # arbitrary string values that will returned with requests for the
1433
1529
  # file as "x-goog-meta-" response headers.
1530
+ #
1531
+ # @param [Hash(String => String)] metadata The user-provided metadata,
1532
+ # in key/value pairs.
1533
+ #
1434
1534
  def metadata= metadata
1435
1535
  @metadata = metadata
1436
1536
  @gapi.metadata = @metadata
@@ -161,6 +161,8 @@ module Google
161
161
  # @param [Integer] generation When present, selects a specific
162
162
  # revision of this object. Default is the latest version.
163
163
  #
164
+ # @return [String] The entity.
165
+ #
164
166
  # @example Grant access to a user by prepending `"user-"` to an email:
165
167
  # require "google/cloud/storage"
166
168
  #
@@ -210,6 +212,8 @@ module Google
210
212
  # @param [Integer] generation When present, selects a specific
211
213
  # revision of this object. Default is the latest version.
212
214
  #
215
+ # @return [String] The entity.
216
+ #
213
217
  # @example Grant access to a user by prepending `"user-"` to an email:
214
218
  # require "google/cloud/storage"
215
219
  #
@@ -259,6 +263,9 @@ module Google
259
263
  # @param [Integer] generation When present, selects a specific
260
264
  # revision of this object. Default is the latest version.
261
265
  #
266
+ # @return [Boolean] true if the delete operation did not raise an
267
+ # error
268
+ #
262
269
  # @example
263
270
  # require "google/cloud/storage"
264
271
  #
@@ -78,18 +78,27 @@ module Google
78
78
  ##
79
79
  # The kind of item this is.
80
80
  # For notifications, this is always storage#notification.
81
+ #
82
+ # @return [String]
83
+ #
81
84
  def kind
82
85
  @gapi.kind
83
86
  end
84
87
 
85
88
  ##
86
89
  # The ID of the notification.
90
+ #
91
+ # @return [String]
92
+ #
87
93
  def id
88
94
  @gapi.id
89
95
  end
90
96
 
91
97
  ##
92
98
  # A URL that can be used to access the notification using the REST API.
99
+ #
100
+ # @return [String]
101
+ #
93
102
  def api_url
94
103
  @gapi.self_link
95
104
  end
@@ -98,6 +107,9 @@ module Google
98
107
  # The custom attributes of this notification. An optional list of
99
108
  # additional attributes to attach to each Cloud Pub/Sub message
100
109
  # published for this notification subscription.
110
+ #
111
+ # @return [Hash(String => String)]
112
+ #
101
113
  def custom_attrs
102
114
  @gapi.custom_attributes
103
115
  end
@@ -133,6 +145,8 @@ module Google
133
145
  # explicitly specify in their notification configuration which event
134
146
  # types they are prepared to accept.
135
147
  #
148
+ # @return [Array<String>]
149
+ #
136
150
  def event_types
137
151
  @gapi.event_types
138
152
  end
@@ -142,6 +156,8 @@ module Google
142
156
  # this notification configuration to file names that begin with this
143
157
  # prefix.
144
158
  #
159
+ # @return [String]
160
+ #
145
161
  def prefix
146
162
  @gapi.object_name_prefix
147
163
  end
@@ -156,6 +172,8 @@ module Google
156
172
  # of the file's metadata.
157
173
  # * `NONE` - No payload is included with the notification.
158
174
  #
175
+ # @return [String]
176
+ #
159
177
  def payload
160
178
  @gapi.payload_format
161
179
  end
@@ -164,6 +182,9 @@ module Google
164
182
  # The Cloud Pub/Sub topic to which this subscription publishes.
165
183
  # Formatted as:
166
184
  # `//pubsub.googleapis.com/projects/{project-id}/topics/{my-topic}`
185
+ #
186
+ # @return [String]
187
+ #
167
188
  def topic
168
189
  @gapi.topic
169
190
  end
@@ -175,7 +175,7 @@ module Google
175
175
  roles_dup = p.roles.each_with_object({}) do |(k, v), memo|
176
176
  memo[k] = v.dup rescue value
177
177
  end
178
- p.instance_variable_set "@roles", roles_dup
178
+ p.instance_variable_set :@roles, roles_dup
179
179
  end
180
180
  end
181
181
 
@@ -61,6 +61,8 @@ module Google
61
61
  ##
62
62
  # The Storage project connected to.
63
63
  #
64
+ # @return [String]
65
+ #
64
66
  # @example
65
67
  # require "google/cloud/storage"
66
68
  #
@@ -76,6 +78,18 @@ module Google
76
78
  end
77
79
  alias project project_id
78
80
 
81
+ ##
82
+ # The Google Cloud Storage managed service account created for the
83
+ # project used to initialize the client library. (See also
84
+ # {#project_id}.)
85
+ #
86
+ # @return [String] The service account email address.
87
+ #
88
+ def service_account_email
89
+ @service_account_email ||= \
90
+ service.project_service_account.email_address
91
+ end
92
+
79
93
  ##
80
94
  # Retrieves a list of buckets for the given project.
81
95
  #
@@ -411,6 +425,8 @@ module Google
411
425
  # corresponding values. (These values can be permanently set using
412
426
  # {File#content_disposition=} and {File#content_type=}.)
413
427
  #
428
+ # @return [String]
429
+ #
414
430
  # @example
415
431
  # require "google/cloud/storage"
416
432
  #
@@ -63,6 +63,10 @@ module Google
63
63
  end
64
64
  attr_accessor :mocked_service
65
65
 
66
+ def project_service_account
67
+ service.get_project_service_account project
68
+ end
69
+
66
70
  ##
67
71
  # Retrieves a list of buckets for the given project.
68
72
  def list_buckets prefix: nil, token: nil, max: nil, user_project: nil
@@ -558,6 +562,8 @@ module Google
558
562
 
559
563
  # rubocop:disable all
560
564
 
565
+ # @private
566
+ #
561
567
  # IMPORTANT: These monkey-patches of Apis::StorageV1::StorageService and
562
568
  # Apis::Core::DownloadCommand must be verified and updated (if needed) for
563
569
  # every upgrade of google-api-client.
@@ -569,7 +575,9 @@ module Google
569
575
  # solution instead.
570
576
  #
571
577
  module Apis
578
+ # @private
572
579
  module StorageV1
580
+ # @private
573
581
  class StorageService
574
582
  # Returns a two-element array containing:
575
583
  # * The `result` that is the usual return type of #get_object.
@@ -613,7 +621,9 @@ module Google
613
621
  end
614
622
  end
615
623
  end
624
+ # @private
616
625
  module Core
626
+ # @private
617
627
  # Streaming/resumable media download support
618
628
  class DownloadCommand < ApiCommand
619
629
  # Returns a two-element array containing:
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module Storage
19
- VERSION = "1.13.0".freeze
19
+ VERSION = "1.13.1".freeze
20
20
  end
21
21
  end
22
22
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-storage
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.13.0
4
+ version: 1.13.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Moore
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-06-22 00:00:00.000000000 Z
12
+ date: 2018-08-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: google-cloud-core
@@ -137,6 +137,20 @@ dependencies:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
139
  version: '1.1'
140
+ - !ruby/object:Gem::Dependency
141
+ name: redcarpet
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: '3.0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: '3.0'
140
154
  - !ruby/object:Gem::Dependency
141
155
  name: rubocop
142
156
  requirement: !ruby/object:Gem::Requirement