google-cloud-storage 1.36.2 → 1.37.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/CHANGELOG.md +10 -0
 - data/lib/google/cloud/storage/bucket/lifecycle.rb +88 -10
 - data/lib/google/cloud/storage/file/signer_v2.rb +1 -1
 - data/lib/google/cloud/storage/file/signer_v4.rb +1 -1
 - data/lib/google/cloud/storage/service.rb +9 -1
 - data/lib/google/cloud/storage/version.rb +1 -1
 - data/lib/google/cloud/storage.rb +43 -14
 - data/lib/google-cloud-storage.rb +31 -5
 - metadata +5 -5
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 4978faf0cccd7a12e58085b8a5eb44a0bdfb54446c17e5c377ef66e443a93671
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 7487e0b96eabba4902ebc21992b651e08261523175d49c4477e820e941757be3
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 7e0728273ad8a402031e43930695f11c0f908c7379a2a80c28b68f6278034f8957a47f980161aa490ffa261e16559b699eabd5526f7304176167493e8bf1b7c0
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 3cebdabf2dbefc4f8f4a23f8c6df43b25770cda527c0fc502e7a2cd8ab9ac9cfa8a82a1fc108c28168becc6e9f9a624a5c588c5ef8657f1f83b2dfafecd9f413
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -1,5 +1,15 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Release History
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            ### 1.37.0 (2022-06-30)
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            #### Features
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            * support OLM Prefix/Suffix ([#18190](https://github.com/googleapis/google-cloud-ruby/issues/18190)) 
         
     | 
| 
      
 8 
     | 
    
         
            +
            * allow retry options to be configurable on client initialization ([#18332](https://github.com/googleapis/google-cloud-ruby/issues/18332)) 
         
     | 
| 
      
 9 
     | 
    
         
            +
            #### Bug Fixes
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            * update object path parsing to handle hashes in them 
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
       3 
13 
     | 
    
         
             
            ### 1.36.2 (2022-04-20)
         
     | 
| 
       4 
14 
     | 
    
         | 
| 
       5 
15 
     | 
    
         
             
            #### Documentation
         
     | 
| 
         @@ -53,6 +53,8 @@ module Google 
     | 
|
| 
       53 
53 
     | 
    
         
             
                    #   rule.storage_class #=> "COLDLINE"
         
     | 
| 
       54 
54 
     | 
    
         
             
                    #   rule.age #=> 10
         
     | 
| 
       55 
55 
     | 
    
         
             
                    #   rule.matches_storage_class #=> ["STANDARD", "NEARLINE"]
         
     | 
| 
      
 56 
     | 
    
         
            +
                    #   rule.matches_prefix #=> ["myprefix/foo"]
         
     | 
| 
      
 57 
     | 
    
         
            +
                    #   rule.matches_suffix #=> [".jpg", ".png"]
         
     | 
| 
       56 
58 
     | 
    
         
             
                    #
         
     | 
| 
       57 
59 
     | 
    
         
             
                    # @example Updating the bucket's lifecycle management rules in a block.
         
     | 
| 
       58 
60 
     | 
    
         
             
                    #   require "google/cloud/storage"
         
     | 
| 
         @@ -138,6 +140,12 @@ module Google 
     | 
|
| 
       138 
140 
     | 
    
         
             
                      #   files. If the value is N, this condition is satisfied when there
         
     | 
| 
       139 
141 
     | 
    
         
             
                      #   are at least N versions (including the live version) newer than
         
     | 
| 
       140 
142 
     | 
    
         
             
                      #   this version of the file.
         
     | 
| 
      
 143 
     | 
    
         
            +
                      # @param [Array<String,Symbol>] matches_prefix
         
     | 
| 
      
 144 
     | 
    
         
            +
                      #  Files having their name with the specified list of prefixs will be matched.
         
     | 
| 
      
 145 
     | 
    
         
            +
                      #  Arguments will be converted from symbols to strings.
         
     | 
| 
      
 146 
     | 
    
         
            +
                      # @param [Array<String,Symbol>] matches_suffix
         
     | 
| 
      
 147 
     | 
    
         
            +
                      #  Files having their name with the specified list of suffixes will be matched.
         
     | 
| 
      
 148 
     | 
    
         
            +
                      #  Arguments will be converted from symbols to strings.
         
     | 
| 
       141 
149 
     | 
    
         
             
                      #
         
     | 
| 
       142 
150 
     | 
    
         
             
                      # @example
         
     | 
| 
       143 
151 
     | 
    
         
             
                      #   require "google/cloud/storage"
         
     | 
| 
         @@ -157,7 +165,9 @@ module Google 
     | 
|
| 
       157 
165 
     | 
    
         
             
                                                     is_live: nil,
         
     | 
| 
       158 
166 
     | 
    
         
             
                                                     matches_storage_class: nil,
         
     | 
| 
       159 
167 
     | 
    
         
             
                                                     noncurrent_time_before: nil,
         
     | 
| 
       160 
     | 
    
         
            -
                                                     num_newer_versions: nil
         
     | 
| 
      
 168 
     | 
    
         
            +
                                                     num_newer_versions: nil,
         
     | 
| 
      
 169 
     | 
    
         
            +
                                                     matches_prefix: nil,
         
     | 
| 
      
 170 
     | 
    
         
            +
                                                     matches_suffix: nil
         
     | 
| 
       161 
171 
     | 
    
         
             
                        push Rule.new(
         
     | 
| 
       162 
172 
     | 
    
         
             
                          "SetStorageClass",
         
     | 
| 
       163 
173 
     | 
    
         
             
                          storage_class: storage_class_for(storage_class),
         
     | 
| 
         @@ -169,12 +179,14 @@ module Google 
     | 
|
| 
       169 
179 
     | 
    
         
             
                          is_live: is_live,
         
     | 
| 
       170 
180 
     | 
    
         
             
                          matches_storage_class: storage_class_for(matches_storage_class),
         
     | 
| 
       171 
181 
     | 
    
         
             
                          noncurrent_time_before: noncurrent_time_before,
         
     | 
| 
       172 
     | 
    
         
            -
                          num_newer_versions: num_newer_versions
         
     | 
| 
      
 182 
     | 
    
         
            +
                          num_newer_versions: num_newer_versions,
         
     | 
| 
      
 183 
     | 
    
         
            +
                          matches_prefix: Array(matches_prefix),
         
     | 
| 
      
 184 
     | 
    
         
            +
                          matches_suffix: Array(matches_suffix)
         
     | 
| 
       173 
185 
     | 
    
         
             
                        )
         
     | 
| 
       174 
186 
     | 
    
         
             
                      end
         
     | 
| 
       175 
187 
     | 
    
         | 
| 
       176 
188 
     | 
    
         
             
                      ##
         
     | 
| 
       177 
     | 
    
         
            -
                      # Adds a  
     | 
| 
      
 189 
     | 
    
         
            +
                      # Adds a Delete lifecycle rule to the Object Lifecycle
         
     | 
| 
       178 
190 
     | 
    
         
             
                      # Management rules for a bucket.
         
     | 
| 
       179 
191 
     | 
    
         
             
                      #
         
     | 
| 
       180 
192 
     | 
    
         
             
                      # @see https://cloud.google.com/storage/docs/lifecycle Object
         
     | 
| 
         @@ -221,6 +233,12 @@ module Google 
     | 
|
| 
       221 
233 
     | 
    
         
             
                      #   files. If the value is N, this condition is satisfied when there
         
     | 
| 
       222 
234 
     | 
    
         
             
                      #   are at least N versions (including the live version) newer than
         
     | 
| 
       223 
235 
     | 
    
         
             
                      #   this version of the file.
         
     | 
| 
      
 236 
     | 
    
         
            +
                      # @param [Array<String,Symbol>] matches_prefix
         
     | 
| 
      
 237 
     | 
    
         
            +
                      #  Files having their name with the specified list of prefixs will be matched.
         
     | 
| 
      
 238 
     | 
    
         
            +
                      #  Arguments will be converted from symbols to strings.
         
     | 
| 
      
 239 
     | 
    
         
            +
                      # @param [Array<String,Symbol>] matches_suffix
         
     | 
| 
      
 240 
     | 
    
         
            +
                      #  Files having their name with the specified list of suffixes will be matched.
         
     | 
| 
      
 241 
     | 
    
         
            +
                      #  Arguments will be converted from symbols to strings.
         
     | 
| 
       224 
242 
     | 
    
         
             
                      #
         
     | 
| 
       225 
243 
     | 
    
         
             
                      # @example
         
     | 
| 
       226 
244 
     | 
    
         
             
                      #   require "google/cloud/storage"
         
     | 
| 
         @@ -239,7 +257,9 @@ module Google 
     | 
|
| 
       239 
257 
     | 
    
         
             
                                          is_live: nil,
         
     | 
| 
       240 
258 
     | 
    
         
             
                                          matches_storage_class: nil,
         
     | 
| 
       241 
259 
     | 
    
         
             
                                          noncurrent_time_before: nil,
         
     | 
| 
       242 
     | 
    
         
            -
                                          num_newer_versions: nil
         
     | 
| 
      
 260 
     | 
    
         
            +
                                          num_newer_versions: nil,
         
     | 
| 
      
 261 
     | 
    
         
            +
                                          matches_prefix: nil,
         
     | 
| 
      
 262 
     | 
    
         
            +
                                          matches_suffix: nil
         
     | 
| 
       243 
263 
     | 
    
         
             
                        push Rule.new(
         
     | 
| 
       244 
264 
     | 
    
         
             
                          "Delete",
         
     | 
| 
       245 
265 
     | 
    
         
             
                          age: age,
         
     | 
| 
         @@ -250,7 +270,49 @@ module Google 
     | 
|
| 
       250 
270 
     | 
    
         
             
                          is_live: is_live,
         
     | 
| 
       251 
271 
     | 
    
         
             
                          matches_storage_class: storage_class_for(matches_storage_class),
         
     | 
| 
       252 
272 
     | 
    
         
             
                          noncurrent_time_before: noncurrent_time_before,
         
     | 
| 
       253 
     | 
    
         
            -
                          num_newer_versions: num_newer_versions
         
     | 
| 
      
 273 
     | 
    
         
            +
                          num_newer_versions: num_newer_versions,
         
     | 
| 
      
 274 
     | 
    
         
            +
                          matches_prefix: Array(matches_prefix),
         
     | 
| 
      
 275 
     | 
    
         
            +
                          matches_suffix: Array(matches_suffix)
         
     | 
| 
      
 276 
     | 
    
         
            +
                        )
         
     | 
| 
      
 277 
     | 
    
         
            +
                      end
         
     | 
| 
      
 278 
     | 
    
         
            +
             
     | 
| 
      
 279 
     | 
    
         
            +
                      ##
         
     | 
| 
      
 280 
     | 
    
         
            +
                      # Adds a AbortIncompleteMultipartUpload lifecycle rule to the Object Lifecycle
         
     | 
| 
      
 281 
     | 
    
         
            +
                      # Management rules for a bucket.
         
     | 
| 
      
 282 
     | 
    
         
            +
                      #
         
     | 
| 
      
 283 
     | 
    
         
            +
                      # @see https://cloud.google.com/storage/docs/lifecycle Object
         
     | 
| 
      
 284 
     | 
    
         
            +
                      #   Lifecycle Management
         
     | 
| 
      
 285 
     | 
    
         
            +
                      # @see https://cloud.google.com/storage/docs/managing-lifecycles
         
     | 
| 
      
 286 
     | 
    
         
            +
                      #   Managing Object Lifecycles
         
     | 
| 
      
 287 
     | 
    
         
            +
                      #
         
     | 
| 
      
 288 
     | 
    
         
            +
                      # @param [Integer] age The age of a file (in days). This condition is
         
     | 
| 
      
 289 
     | 
    
         
            +
                      #   satisfied when a file reaches the specified age.
         
     | 
| 
      
 290 
     | 
    
         
            +
                      # @param [Array<String,Symbol>] matches_prefix
         
     | 
| 
      
 291 
     | 
    
         
            +
                      #  Files having their name with the specified list of prefixs will be matched.
         
     | 
| 
      
 292 
     | 
    
         
            +
                      #  Arguments will be converted from symbols to strings.
         
     | 
| 
      
 293 
     | 
    
         
            +
                      # @param [Array<String,Symbol>] matches_suffix
         
     | 
| 
      
 294 
     | 
    
         
            +
                      #  Files having their name with the specified list of suffixes will be matched.
         
     | 
| 
      
 295 
     | 
    
         
            +
                      #  Arguments will be converted from symbols to strings.
         
     | 
| 
      
 296 
     | 
    
         
            +
                      #
         
     | 
| 
      
 297 
     | 
    
         
            +
                      # @example
         
     | 
| 
      
 298 
     | 
    
         
            +
                      #   require "google/cloud/storage"
         
     | 
| 
      
 299 
     | 
    
         
            +
                      #
         
     | 
| 
      
 300 
     | 
    
         
            +
                      #   storage = Google::Cloud::Storage.new
         
     | 
| 
      
 301 
     | 
    
         
            +
                      #
         
     | 
| 
      
 302 
     | 
    
         
            +
                      #   bucket = storage.create_bucket "my-bucket" do |b|
         
     | 
| 
      
 303 
     | 
    
         
            +
                      #     b.lifecycle.add_abort_incomplete_multipart_upload_rule age: 10,
         
     | 
| 
      
 304 
     | 
    
         
            +
                      #                                                            matches_prefix: ["images/"],
         
     | 
| 
      
 305 
     | 
    
         
            +
                      #                                                            matches_suffix: [".pdf"]
         
     | 
| 
      
 306 
     | 
    
         
            +
                      #   end
         
     | 
| 
      
 307 
     | 
    
         
            +
                      #
         
     | 
| 
      
 308 
     | 
    
         
            +
                      def add_abort_incomplete_multipart_upload_rule age: nil,
         
     | 
| 
      
 309 
     | 
    
         
            +
                                                                     matches_prefix: nil,
         
     | 
| 
      
 310 
     | 
    
         
            +
                                                                     matches_suffix: nil
         
     | 
| 
      
 311 
     | 
    
         
            +
                        push Rule.new(
         
     | 
| 
      
 312 
     | 
    
         
            +
                          "AbortIncompleteMultipartUpload",
         
     | 
| 
      
 313 
     | 
    
         
            +
                          age: age,
         
     | 
| 
      
 314 
     | 
    
         
            +
                          matches_prefix: Array(matches_prefix),
         
     | 
| 
      
 315 
     | 
    
         
            +
                          matches_suffix: Array(matches_suffix)
         
     | 
| 
       254 
316 
     | 
    
         
             
                        )
         
     | 
| 
       255 
317 
     | 
    
         
             
                      end
         
     | 
| 
       256 
318 
     | 
    
         | 
| 
         @@ -346,6 +408,8 @@ module Google 
     | 
|
| 
       346 
408 
     | 
    
         
             
                      #   rule.storage_class #=> "COLDLINE"
         
     | 
| 
       347 
409 
     | 
    
         
             
                      #   rule.age #=> 10
         
     | 
| 
       348 
410 
     | 
    
         
             
                      #   rule.matches_storage_class #=> ["STANDARD", "NEARLINE"]
         
     | 
| 
      
 411 
     | 
    
         
            +
                      #   rule.matches_prefix #=> ["myprefix/foo"]
         
     | 
| 
      
 412 
     | 
    
         
            +
                      #   rule.matches_suffix #=> [".jpg", ".png"]
         
     | 
| 
       349 
413 
     | 
    
         
             
                      #
         
     | 
| 
       350 
414 
     | 
    
         
             
                      # @example Updating the bucket's lifecycle rules in a block.
         
     | 
| 
       351 
415 
     | 
    
         
             
                      #   require "google/cloud/storage"
         
     | 
| 
         @@ -382,6 +446,8 @@ module Google 
     | 
|
| 
       382 
446 
     | 
    
         
             
                        attr_accessor :matches_storage_class
         
     | 
| 
       383 
447 
     | 
    
         
             
                        attr_accessor :noncurrent_time_before
         
     | 
| 
       384 
448 
     | 
    
         
             
                        attr_accessor :num_newer_versions
         
     | 
| 
      
 449 
     | 
    
         
            +
                        attr_accessor :matches_prefix
         
     | 
| 
      
 450 
     | 
    
         
            +
                        attr_accessor :matches_suffix
         
     | 
| 
       385 
451 
     | 
    
         | 
| 
       386 
452 
     | 
    
         
             
                        # @private
         
     | 
| 
       387 
453 
     | 
    
         
             
                        def initialize action,
         
     | 
| 
         @@ -394,7 +460,9 @@ module Google 
     | 
|
| 
       394 
460 
     | 
    
         
             
                                       is_live: nil,
         
     | 
| 
       395 
461 
     | 
    
         
             
                                       matches_storage_class: nil,
         
     | 
| 
       396 
462 
     | 
    
         
             
                                       noncurrent_time_before: nil,
         
     | 
| 
       397 
     | 
    
         
            -
                                       num_newer_versions: nil
         
     | 
| 
      
 463 
     | 
    
         
            +
                                       num_newer_versions: nil,
         
     | 
| 
      
 464 
     | 
    
         
            +
                                       matches_prefix: nil,
         
     | 
| 
      
 465 
     | 
    
         
            +
                                       matches_suffix: nil
         
     | 
| 
       398 
466 
     | 
    
         
             
                          @action = action
         
     | 
| 
       399 
467 
     | 
    
         
             
                          @storage_class = storage_class
         
     | 
| 
       400 
468 
     | 
    
         
             
                          @age = age
         
     | 
| 
         @@ -406,6 +474,8 @@ module Google 
     | 
|
| 
       406 
474 
     | 
    
         
             
                          @matches_storage_class = Array(matches_storage_class)
         
     | 
| 
       407 
475 
     | 
    
         
             
                          @noncurrent_time_before = noncurrent_time_before
         
     | 
| 
       408 
476 
     | 
    
         
             
                          @num_newer_versions = num_newer_versions
         
     | 
| 
      
 477 
     | 
    
         
            +
                          @matches_prefix = Array(matches_prefix)
         
     | 
| 
      
 478 
     | 
    
         
            +
                          @matches_suffix = Array(matches_suffix)
         
     | 
| 
       409 
479 
     | 
    
         
             
                        end
         
     | 
| 
       410 
480 
     | 
    
         | 
| 
       411 
481 
     | 
    
         
             
                        # @private
         
     | 
| 
         @@ -420,7 +490,9 @@ module Google 
     | 
|
| 
       420 
490 
     | 
    
         
             
                            is_live,
         
     | 
| 
       421 
491 
     | 
    
         
             
                            matches_storage_class,
         
     | 
| 
       422 
492 
     | 
    
         
             
                            noncurrent_time_before,
         
     | 
| 
       423 
     | 
    
         
            -
                            num_newer_versions
         
     | 
| 
      
 493 
     | 
    
         
            +
                            num_newer_versions,
         
     | 
| 
      
 494 
     | 
    
         
            +
                            matches_prefix,
         
     | 
| 
      
 495 
     | 
    
         
            +
                            matches_suffix
         
     | 
| 
       424 
496 
     | 
    
         
             
                          )
         
     | 
| 
       425 
497 
     | 
    
         
             
                          Google::Apis::StorageV1::Bucket::Lifecycle::Rule.new(
         
     | 
| 
       426 
498 
     | 
    
         
             
                            action: action_gapi(action, storage_class),
         
     | 
| 
         @@ -445,7 +517,9 @@ module Google 
     | 
|
| 
       445 
517 
     | 
    
         
             
                                           is_live,
         
     | 
| 
       446 
518 
     | 
    
         
             
                                           matches_storage_class,
         
     | 
| 
       447 
519 
     | 
    
         
             
                                           noncurrent_time_before,
         
     | 
| 
       448 
     | 
    
         
            -
                                           num_newer_versions
         
     | 
| 
      
 520 
     | 
    
         
            +
                                           num_newer_versions,
         
     | 
| 
      
 521 
     | 
    
         
            +
                                           matches_prefix,
         
     | 
| 
      
 522 
     | 
    
         
            +
                                           matches_suffix
         
     | 
| 
       449 
523 
     | 
    
         
             
                          Google::Apis::StorageV1::Bucket::Lifecycle::Rule::Condition.new(
         
     | 
| 
       450 
524 
     | 
    
         
             
                            age: age,
         
     | 
| 
       451 
525 
     | 
    
         
             
                            created_before: created_before,
         
     | 
| 
         @@ -455,7 +529,9 @@ module Google 
     | 
|
| 
       455 
529 
     | 
    
         
             
                            is_live: is_live,
         
     | 
| 
       456 
530 
     | 
    
         
             
                            matches_storage_class: Array(matches_storage_class),
         
     | 
| 
       457 
531 
     | 
    
         
             
                            noncurrent_time_before: noncurrent_time_before,
         
     | 
| 
       458 
     | 
    
         
            -
                            num_newer_versions: num_newer_versions
         
     | 
| 
      
 532 
     | 
    
         
            +
                            num_newer_versions: num_newer_versions,
         
     | 
| 
      
 533 
     | 
    
         
            +
                            matches_prefix: Array(matches_prefix),
         
     | 
| 
      
 534 
     | 
    
         
            +
                            matches_suffix: Array(matches_suffix)
         
     | 
| 
       459 
535 
     | 
    
         
             
                          )
         
     | 
| 
       460 
536 
     | 
    
         
             
                        end
         
     | 
| 
       461 
537 
     | 
    
         | 
| 
         @@ -475,7 +551,9 @@ module Google 
     | 
|
| 
       475 
551 
     | 
    
         
             
                            is_live: c.is_live,
         
     | 
| 
       476 
552 
     | 
    
         
             
                            matches_storage_class: c.matches_storage_class,
         
     | 
| 
       477 
553 
     | 
    
         
             
                            noncurrent_time_before: c.noncurrent_time_before,
         
     | 
| 
       478 
     | 
    
         
            -
                            num_newer_versions: c.num_newer_versions
         
     | 
| 
      
 554 
     | 
    
         
            +
                            num_newer_versions: c.num_newer_versions,
         
     | 
| 
      
 555 
     | 
    
         
            +
                            matches_prefix: c.matches_prefix,
         
     | 
| 
      
 556 
     | 
    
         
            +
                            matches_suffix: c.matches_suffix
         
     | 
| 
       479 
557 
     | 
    
         
             
                          )
         
     | 
| 
       480 
558 
     | 
    
         
             
                        end
         
     | 
| 
       481 
559 
     | 
    
         | 
| 
         @@ -48,7 +48,7 @@ module Google 
     | 
|
| 
       48 
48 
     | 
    
         
             
                      #
         
     | 
| 
       49 
49 
     | 
    
         
             
                      def ext_path
         
     | 
| 
       50 
50 
     | 
    
         
             
                        path = "/#{@bucket}/#{@path}"
         
     | 
| 
       51 
     | 
    
         
            -
                        escaped = Addressable::URI. 
     | 
| 
      
 51 
     | 
    
         
            +
                        escaped = Addressable::URI.encode_component path, Addressable::URI::CharacterClasses::PATH
         
     | 
| 
       52 
52 
     | 
    
         
             
                        special_var = "${filename}"
         
     | 
| 
       53 
53 
     | 
    
         
             
                        # Restore the unencoded `${filename}` variable, if present.
         
     | 
| 
       54 
54 
     | 
    
         
             
                        if path.include? special_var
         
     | 
| 
         @@ -326,7 +326,7 @@ module Google 
     | 
|
| 
       326 
326 
     | 
    
         
             
                      #
         
     | 
| 
       327 
327 
     | 
    
         
             
                      def post_object_ext_path
         
     | 
| 
       328 
328 
     | 
    
         
             
                        path = "/#{@bucket_name}/#{@file_name}"
         
     | 
| 
       329 
     | 
    
         
            -
                        escaped = Addressable::URI. 
     | 
| 
      
 329 
     | 
    
         
            +
                        escaped = Addressable::URI.encode_component path, Addressable::URI::CharacterClasses::PATH
         
     | 
| 
       330 
330 
     | 
    
         
             
                        special_var = "${filename}"
         
     | 
| 
       331 
331 
     | 
    
         
             
                        # Restore the unencoded `${filename}` variable, if present.
         
     | 
| 
       332 
332 
     | 
    
         
             
                        if path.include? special_var
         
     | 
| 
         @@ -38,9 +38,12 @@ module Google 
     | 
|
| 
       38 
38 
     | 
    
         | 
| 
       39 
39 
     | 
    
         
             
                    ##
         
     | 
| 
       40 
40 
     | 
    
         
             
                    # Creates a new Service instance.
         
     | 
| 
      
 41 
     | 
    
         
            +
                    # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
         
     | 
| 
       41 
42 
     | 
    
         
             
                    def initialize project, credentials, retries: nil,
         
     | 
| 
       42 
43 
     | 
    
         
             
                                   timeout: nil, open_timeout: nil, read_timeout: nil,
         
     | 
| 
       43 
     | 
    
         
            -
                                   send_timeout: nil, host: nil, quota_project: nil
         
     | 
| 
      
 44 
     | 
    
         
            +
                                   send_timeout: nil, host: nil, quota_project: nil,
         
     | 
| 
      
 45 
     | 
    
         
            +
                                   max_elapsed_time: nil, base_interval: nil, max_interval: nil,
         
     | 
| 
      
 46 
     | 
    
         
            +
                                   multiplier: nil
         
     | 
| 
       44 
47 
     | 
    
         
             
                      @project = project
         
     | 
| 
       45 
48 
     | 
    
         
             
                      @credentials = credentials
         
     | 
| 
       46 
49 
     | 
    
         
             
                      @service = API::StorageService.new
         
     | 
| 
         @@ -57,9 +60,14 @@ module Google 
     | 
|
| 
       57 
60 
     | 
    
         
             
                        "gl-ruby/#{RUBY_VERSION} gccl/#{Google::Cloud::Storage::VERSION}"
         
     | 
| 
       58 
61 
     | 
    
         
             
                      @service.request_options.header["Accept-Encoding"] = "gzip"
         
     | 
| 
       59 
62 
     | 
    
         
             
                      @service.request_options.quota_project = quota_project if quota_project
         
     | 
| 
      
 63 
     | 
    
         
            +
                      @service.request_options.max_elapsed_time = max_elapsed_time if max_elapsed_time
         
     | 
| 
      
 64 
     | 
    
         
            +
                      @service.request_options.base_interval = base_interval if base_interval
         
     | 
| 
      
 65 
     | 
    
         
            +
                      @service.request_options.max_interval = max_interval if max_interval
         
     | 
| 
      
 66 
     | 
    
         
            +
                      @service.request_options.multiplier = multiplier if multiplier
         
     | 
| 
       60 
67 
     | 
    
         
             
                      @service.authorization = @credentials.client if @credentials
         
     | 
| 
       61 
68 
     | 
    
         
             
                      @service.root_url = host if host
         
     | 
| 
       62 
69 
     | 
    
         
             
                    end
         
     | 
| 
      
 70 
     | 
    
         
            +
                    # rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
         
     | 
| 
       63 
71 
     | 
    
         | 
| 
       64 
72 
     | 
    
         
             
                    def service
         
     | 
| 
       65 
73 
     | 
    
         
             
                      return mocked_service if mocked_service
         
     | 
    
        data/lib/google/cloud/storage.rb
    CHANGED
    
    | 
         @@ -55,6 +55,11 @@ module Google 
     | 
|
| 
       55 
55 
     | 
    
         
             
                  #   * `https://www.googleapis.com/auth/devstorage.full_control`
         
     | 
| 
       56 
56 
     | 
    
         
             
                  # @param [Integer] retries Number of times to retry requests on server
         
     | 
| 
       57 
57 
     | 
    
         
             
                  #   error. The default value is `3`. Optional.
         
     | 
| 
      
 58 
     | 
    
         
            +
                  # @param [Integer] max_elapsed_time Total time in seconds that requests are allowed to keep being retried.
         
     | 
| 
      
 59 
     | 
    
         
            +
                  # @param [Float] base_interval The initial interval in seconds between tries.
         
     | 
| 
      
 60 
     | 
    
         
            +
                  # @param [Integer] max_interval The maximum interval in seconds that any individual retry can reach.
         
     | 
| 
      
 61 
     | 
    
         
            +
                  # @param [Integer] multiplier Each successive interval grows by this factor. A multipler of 1.5 means the next
         
     | 
| 
      
 62 
     | 
    
         
            +
                  #                  interval will be 1.5x the current interval.
         
     | 
| 
       58 
63 
     | 
    
         
             
                  # @param [Integer] timeout (default timeout) The max duration, in seconds, to wait before timing out. Optional.
         
     | 
| 
       59 
64 
     | 
    
         
             
                  #    If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol.
         
     | 
| 
       60 
65 
     | 
    
         
             
                  # @param [Integer] open_timeout How long, in seconds, before failed connections time out. Optional.
         
     | 
| 
         @@ -79,18 +84,24 @@ module Google 
     | 
|
| 
       79 
84 
     | 
    
         
             
                  #   bucket = storage.bucket "my-bucket"
         
     | 
| 
       80 
85 
     | 
    
         
             
                  #   file = bucket.file "path/to/my-file.ext"
         
     | 
| 
       81 
86 
     | 
    
         
             
                  #
         
     | 
| 
       82 
     | 
    
         
            -
                  # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
         
     | 
| 
      
 87 
     | 
    
         
            +
                  # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/AbcSize
         
     | 
| 
       83 
88 
     | 
    
         
             
                  def self.new project_id: nil, credentials: nil, scope: nil, retries: nil,
         
     | 
| 
       84 
89 
     | 
    
         
             
                               timeout: nil, open_timeout: nil, read_timeout: nil,
         
     | 
| 
       85 
     | 
    
         
            -
                               send_timeout: nil, endpoint: nil, project: nil, keyfile: nil
         
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
       87 
     | 
    
         
            -
             
     | 
| 
       88 
     | 
    
         
            -
                     
     | 
| 
       89 
     | 
    
         
            -
                     
     | 
| 
       90 
     | 
    
         
            -
                     
     | 
| 
       91 
     | 
    
         
            -
                     
     | 
| 
       92 
     | 
    
         
            -
                     
     | 
| 
       93 
     | 
    
         
            -
                     
     | 
| 
      
 90 
     | 
    
         
            +
                               send_timeout: nil, endpoint: nil, project: nil, keyfile: nil,
         
     | 
| 
      
 91 
     | 
    
         
            +
                               max_elapsed_time: nil, base_interval: nil, max_interval: nil,
         
     | 
| 
      
 92 
     | 
    
         
            +
                               multiplier: nil
         
     | 
| 
      
 93 
     | 
    
         
            +
                    scope             ||= configure.scope
         
     | 
| 
      
 94 
     | 
    
         
            +
                    retries           ||= configure.retries
         
     | 
| 
      
 95 
     | 
    
         
            +
                    timeout           ||= configure.timeout
         
     | 
| 
      
 96 
     | 
    
         
            +
                    open_timeout      ||= (configure.open_timeout || timeout)
         
     | 
| 
      
 97 
     | 
    
         
            +
                    read_timeout      ||= (configure.read_timeout || timeout)
         
     | 
| 
      
 98 
     | 
    
         
            +
                    send_timeout      ||= (configure.send_timeout || timeout)
         
     | 
| 
      
 99 
     | 
    
         
            +
                    endpoint          ||= configure.endpoint
         
     | 
| 
      
 100 
     | 
    
         
            +
                    credentials       ||= (keyfile || default_credentials(scope: scope))
         
     | 
| 
      
 101 
     | 
    
         
            +
                    max_elapsed_time  ||= configure.max_elapsed_time
         
     | 
| 
      
 102 
     | 
    
         
            +
                    base_interval     ||= configure.base_interval
         
     | 
| 
      
 103 
     | 
    
         
            +
                    max_interval      ||= configure.max_interval
         
     | 
| 
      
 104 
     | 
    
         
            +
                    multiplier        ||= configure.multiplier
         
     | 
| 
       94 
105 
     | 
    
         | 
| 
       95 
106 
     | 
    
         
             
                    unless credentials.is_a? Google::Auth::Credentials
         
     | 
| 
       96 
107 
     | 
    
         
             
                      credentials = Storage::Credentials.new credentials, scope: scope
         
     | 
| 
         @@ -104,11 +115,13 @@ module Google 
     | 
|
| 
       104 
115 
     | 
    
         
             
                        project_id, credentials,
         
     | 
| 
       105 
116 
     | 
    
         
             
                        retries: retries, timeout: timeout, open_timeout: open_timeout,
         
     | 
| 
       106 
117 
     | 
    
         
             
                        read_timeout: read_timeout, send_timeout: send_timeout,
         
     | 
| 
       107 
     | 
    
         
            -
                        host: endpoint, quota_project: configure.quota_project
         
     | 
| 
      
 118 
     | 
    
         
            +
                        host: endpoint, quota_project: configure.quota_project,
         
     | 
| 
      
 119 
     | 
    
         
            +
                        max_elapsed_time: max_elapsed_time, base_interval: base_interval,
         
     | 
| 
      
 120 
     | 
    
         
            +
                        max_interval: max_interval, multiplier: multiplier
         
     | 
| 
       108 
121 
     | 
    
         
             
                      )
         
     | 
| 
       109 
122 
     | 
    
         
             
                    )
         
     | 
| 
       110 
123 
     | 
    
         
             
                  end
         
     | 
| 
       111 
     | 
    
         
            -
                  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
         
     | 
| 
      
 124 
     | 
    
         
            +
                  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/AbcSize
         
     | 
| 
       112 
125 
     | 
    
         | 
| 
       113 
126 
     | 
    
         
             
                  ##
         
     | 
| 
       114 
127 
     | 
    
         
             
                  # Creates an unauthenticated, anonymous client for retrieving public data
         
     | 
| 
         @@ -116,6 +129,11 @@ module Google 
     | 
|
| 
       116 
129 
     | 
    
         
             
                  #
         
     | 
| 
       117 
130 
     | 
    
         
             
                  # @param [Integer] retries Number of times to retry requests on server
         
     | 
| 
       118 
131 
     | 
    
         
             
                  #   error. The default value is `3`. Optional.
         
     | 
| 
      
 132 
     | 
    
         
            +
                  # @param [Integer] max_elapsed_time Total time in seconds that requests are allowed to keep being retried.
         
     | 
| 
      
 133 
     | 
    
         
            +
                  # @param [Float] base_interval The initial interval in seconds between tries.
         
     | 
| 
      
 134 
     | 
    
         
            +
                  # @param [Integer] max_interval The maximum interval in seconds that any individual retry can reach.
         
     | 
| 
      
 135 
     | 
    
         
            +
                  # @param [Integer] multiplier Each successive interval grows by this factor. A multipler of 1.5 means the next
         
     | 
| 
      
 136 
     | 
    
         
            +
                  #                  interval will be 1.5x the current interval.
         
     | 
| 
       119 
137 
     | 
    
         
             
                  # @param [Integer] timeout (default timeout) The max duration, in seconds, to wait before timing out. Optional.
         
     | 
| 
       120 
138 
     | 
    
         
             
                  #    If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol.
         
     | 
| 
       121 
139 
     | 
    
         
             
                  # @param [Integer] open_timeout How long, in seconds, before failed connections time out. Optional.
         
     | 
| 
         @@ -139,14 +157,18 @@ module Google 
     | 
|
| 
       139 
157 
     | 
    
         
             
                  #   downloaded.read #=> "Hello world!"
         
     | 
| 
       140 
158 
     | 
    
         
             
                  #
         
     | 
| 
       141 
159 
     | 
    
         
             
                  def self.anonymous retries: nil, timeout: nil, open_timeout: nil,
         
     | 
| 
       142 
     | 
    
         
            -
                                     read_timeout: nil, send_timeout: nil, endpoint: nil
         
     | 
| 
      
 160 
     | 
    
         
            +
                                     read_timeout: nil, send_timeout: nil, endpoint: nil,
         
     | 
| 
      
 161 
     | 
    
         
            +
                                     max_elapsed_time: nil, base_interval: nil, max_interval: nil,
         
     | 
| 
      
 162 
     | 
    
         
            +
                                     multiplier: nil
         
     | 
| 
       143 
163 
     | 
    
         
             
                    open_timeout ||= timeout
         
     | 
| 
       144 
164 
     | 
    
         
             
                    read_timeout ||= timeout
         
     | 
| 
       145 
165 
     | 
    
         
             
                    send_timeout ||= timeout
         
     | 
| 
       146 
166 
     | 
    
         
             
                    Storage::Project.new(
         
     | 
| 
       147 
167 
     | 
    
         
             
                      Storage::Service.new(
         
     | 
| 
       148 
168 
     | 
    
         
             
                        nil, nil, retries: retries, timeout: timeout, open_timeout: open_timeout,
         
     | 
| 
       149 
     | 
    
         
            -
                        read_timeout: read_timeout, send_timeout: send_timeout, host: endpoint
         
     | 
| 
      
 169 
     | 
    
         
            +
                        read_timeout: read_timeout, send_timeout: send_timeout, host: endpoint,
         
     | 
| 
      
 170 
     | 
    
         
            +
                        max_elapsed_time: max_elapsed_time, base_interval: base_interval,
         
     | 
| 
      
 171 
     | 
    
         
            +
                        max_interval: max_interval, multiplier: multiplier
         
     | 
| 
       150 
172 
     | 
    
         
             
                      )
         
     | 
| 
       151 
173 
     | 
    
         
             
                    )
         
     | 
| 
       152 
174 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -168,6 +190,13 @@ module Google 
     | 
|
| 
       168 
190 
     | 
    
         
             
                  #   the set of resources and operations that the connection can access.
         
     | 
| 
       169 
191 
     | 
    
         
             
                  # * `retries` - (Integer) Number of times to retry requests on server
         
     | 
| 
       170 
192 
     | 
    
         
             
                  #   error.
         
     | 
| 
      
 193 
     | 
    
         
            +
                  # * `max_elapsed_time` - (Integer) Total time in seconds that requests
         
     | 
| 
      
 194 
     | 
    
         
            +
                  #    are allowed to keep being retried.
         
     | 
| 
      
 195 
     | 
    
         
            +
                  # * `base_interval` - (Float) The initial interval in seconds between tries.
         
     | 
| 
      
 196 
     | 
    
         
            +
                  # * `max_interval` - (Integer) The maximum interval in seconds that any
         
     | 
| 
      
 197 
     | 
    
         
            +
                  #   individual retry can reach.
         
     | 
| 
      
 198 
     | 
    
         
            +
                  # * `multiplier` - (Integer) Each successive interval grows by this factor.
         
     | 
| 
      
 199 
     | 
    
         
            +
                  #    A multipler of 1.5 means the next interval will be 1.5x the current interval.
         
     | 
| 
       171 
200 
     | 
    
         
             
                  # * `timeout` - (Integer) (default timeout) The max duration, in seconds, to wait before timing out.
         
     | 
| 
       172 
201 
     | 
    
         
             
                  #       If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol.
         
     | 
| 
       173 
202 
     | 
    
         
             
                  # * `open_timeout` - (Integer) How long, in seconds, before failed connections time out.
         
     | 
    
        data/lib/google-cloud-storage.rb
    CHANGED
    
    | 
         @@ -45,8 +45,13 @@ module Google 
     | 
|
| 
       45 
45 
     | 
    
         
             
                #   * `https://www.googleapis.com/auth/devstorage.full_control`
         
     | 
| 
       46 
46 
     | 
    
         
             
                # @param [Integer] retries Number of times to retry requests on server
         
     | 
| 
       47 
47 
     | 
    
         
             
                #   error. The default value is `3`. Optional.
         
     | 
| 
      
 48 
     | 
    
         
            +
                # @param [Integer] max_elapsed_time Total time in seconds that requests are allowed to keep being retried.
         
     | 
| 
      
 49 
     | 
    
         
            +
                # @param [Float] base_interval The initial interval in seconds between tries.
         
     | 
| 
      
 50 
     | 
    
         
            +
                # @param [Integer] max_interval The maximum interval in seconds that any individual retry can reach.
         
     | 
| 
      
 51 
     | 
    
         
            +
                # @param [Integer] multiplier Each successive interval grows by this factor. A multipler of 1.5 means the next
         
     | 
| 
      
 52 
     | 
    
         
            +
                #                  interval will be 1.5x the current interval.
         
     | 
| 
       48 
53 
     | 
    
         
             
                # @param [Integer] timeout (default timeout) The max duration, in seconds, to wait before timing out. Optional.
         
     | 
| 
       49 
     | 
    
         
            -
                # 
     | 
| 
      
 54 
     | 
    
         
            +
                #                  If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol.
         
     | 
| 
       50 
55 
     | 
    
         
             
                # @param [Integer] open_timeout How long, in seconds, before failed connections time out. Optional.
         
     | 
| 
       51 
56 
     | 
    
         
             
                # @param [Integer] read_timeout How long, in seconds, before requests time out. Optional.
         
     | 
| 
       52 
57 
     | 
    
         
             
                # @param [Integer] send_timeout How long, in seconds, before receiving response from server times out. Optional.
         
     | 
| 
         @@ -68,13 +73,18 @@ module Google 
     | 
|
| 
       68 
73 
     | 
    
         
             
                #   readonly_scope = "https://www.googleapis.com/auth/devstorage.read_only"
         
     | 
| 
       69 
74 
     | 
    
         
             
                #   readonly_storage = gcloud.storage scope: readonly_scope
         
     | 
| 
       70 
75 
     | 
    
         
             
                #
         
     | 
| 
       71 
     | 
    
         
            -
                def storage scope: nil, retries: nil, timeout: nil, open_timeout: nil, read_timeout: nil, send_timeout: nil
         
     | 
| 
      
 76 
     | 
    
         
            +
                def storage scope: nil, retries: nil, timeout: nil, open_timeout: nil, read_timeout: nil, send_timeout: nil,
         
     | 
| 
      
 77 
     | 
    
         
            +
                            max_elapsed_time: nil, base_interval: nil, max_interval: nil, multiplier: nil
         
     | 
| 
       72 
78 
     | 
    
         
             
                  Google::Cloud.storage @project, @keyfile, scope: scope,
         
     | 
| 
       73 
79 
     | 
    
         
             
                                                            retries: (retries || @retries),
         
     | 
| 
       74 
80 
     | 
    
         
             
                                                            timeout: (timeout || @timeout),
         
     | 
| 
       75 
81 
     | 
    
         
             
                                                            open_timeout: (open_timeout || timeout),
         
     | 
| 
       76 
82 
     | 
    
         
             
                                                            read_timeout: (read_timeout || timeout),
         
     | 
| 
       77 
     | 
    
         
            -
                                                            send_timeout: (send_timeout || timeout)
         
     | 
| 
      
 83 
     | 
    
         
            +
                                                            send_timeout: (send_timeout || timeout),
         
     | 
| 
      
 84 
     | 
    
         
            +
                                                            max_elapsed_time: max_elapsed_time,
         
     | 
| 
      
 85 
     | 
    
         
            +
                                                            base_interval: base_interval,
         
     | 
| 
      
 86 
     | 
    
         
            +
                                                            max_interval: max_interval,
         
     | 
| 
      
 87 
     | 
    
         
            +
                                                            multiplier: multiplier
         
     | 
| 
       78 
88 
     | 
    
         
             
                end
         
     | 
| 
       79 
89 
     | 
    
         | 
| 
       80 
90 
     | 
    
         
             
                ##
         
     | 
| 
         @@ -100,6 +110,11 @@ module Google 
     | 
|
| 
       100 
110 
     | 
    
         
             
                #   * `https://www.googleapis.com/auth/devstorage.full_control`
         
     | 
| 
       101 
111 
     | 
    
         
             
                # @param [Integer] retries Number of times to retry requests on server
         
     | 
| 
       102 
112 
     | 
    
         
             
                #   error. The default value is `3`. Optional.
         
     | 
| 
      
 113 
     | 
    
         
            +
                # @param [Integer] max_elapsed_time Total time in seconds that requests are allowed to keep being retried.
         
     | 
| 
      
 114 
     | 
    
         
            +
                # @param [Float] base_interval The initial interval in seconds between tries.
         
     | 
| 
      
 115 
     | 
    
         
            +
                # @param [Integer] max_interval The maximum interval in seconds that any individual retry can reach.
         
     | 
| 
      
 116 
     | 
    
         
            +
                # @param [Integer] multiplier Each successive interval grows by this factor. A multipler of 1.5 means the next
         
     | 
| 
      
 117 
     | 
    
         
            +
                #                  interval will be 1.5x the current interval.
         
     | 
| 
       103 
118 
     | 
    
         
             
                # @param [Integer] timeout (default timeout) The max duration, in seconds, to wait before timing out. Optional.
         
     | 
| 
       104 
119 
     | 
    
         
             
                #    If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol.
         
     | 
| 
       105 
120 
     | 
    
         
             
                # @param [Integer] open_timeout How long, in seconds, before failed connections time out. Optional.
         
     | 
| 
         @@ -118,7 +133,8 @@ module Google 
     | 
|
| 
       118 
133 
     | 
    
         
             
                #   file = bucket.file "path/to/my-file.ext"
         
     | 
| 
       119 
134 
     | 
    
         
             
                #
         
     | 
| 
       120 
135 
     | 
    
         
             
                def self.storage project_id = nil, credentials = nil, scope: nil,
         
     | 
| 
       121 
     | 
    
         
            -
                                 retries: nil, timeout: nil, open_timeout: nil, read_timeout: nil, send_timeout: nil
         
     | 
| 
      
 136 
     | 
    
         
            +
                                 retries: nil, timeout: nil, open_timeout: nil, read_timeout: nil, send_timeout: nil,
         
     | 
| 
      
 137 
     | 
    
         
            +
                                 max_elapsed_time: nil, base_interval: nil, max_interval: nil, multiplier: nil
         
     | 
| 
       122 
138 
     | 
    
         
             
                  require "google/cloud/storage"
         
     | 
| 
       123 
139 
     | 
    
         
             
                  Google::Cloud::Storage.new project_id: project_id,
         
     | 
| 
       124 
140 
     | 
    
         
             
                                             credentials: credentials,
         
     | 
| 
         @@ -127,12 +143,17 @@ module Google 
     | 
|
| 
       127 
143 
     | 
    
         
             
                                             timeout: timeout,
         
     | 
| 
       128 
144 
     | 
    
         
             
                                             open_timeout: (open_timeout || timeout),
         
     | 
| 
       129 
145 
     | 
    
         
             
                                             read_timeout: (read_timeout || timeout),
         
     | 
| 
       130 
     | 
    
         
            -
                                             send_timeout: (send_timeout || timeout)
         
     | 
| 
      
 146 
     | 
    
         
            +
                                             send_timeout: (send_timeout || timeout),
         
     | 
| 
      
 147 
     | 
    
         
            +
                                             max_elapsed_time: max_elapsed_time,
         
     | 
| 
      
 148 
     | 
    
         
            +
                                             base_interval: base_interval,
         
     | 
| 
      
 149 
     | 
    
         
            +
                                             max_interval: max_interval,
         
     | 
| 
      
 150 
     | 
    
         
            +
                                             multiplier: multiplier
         
     | 
| 
       131 
151 
     | 
    
         
             
                end
         
     | 
| 
       132 
152 
     | 
    
         
             
              end
         
     | 
| 
       133 
153 
     | 
    
         
             
            end
         
     | 
| 
       134 
154 
     | 
    
         | 
| 
       135 
155 
     | 
    
         
             
            # Set the default storage configuration
         
     | 
| 
      
 156 
     | 
    
         
            +
            # rubocop:disable Metrics/BlockLength
         
     | 
| 
       136 
157 
     | 
    
         
             
            Google::Cloud.configure.add_config! :storage do |config|
         
     | 
| 
       137 
158 
     | 
    
         
             
              default_project = Google::Cloud::Config.deferred do
         
     | 
| 
       138 
159 
     | 
    
         
             
                ENV["STORAGE_PROJECT"]
         
     | 
| 
         @@ -153,6 +174,10 @@ Google::Cloud.configure.add_config! :storage do |config| 
     | 
|
| 
       153 
174 
     | 
    
         
             
              config.add_field! :scope, nil, match: [String, Array]
         
     | 
| 
       154 
175 
     | 
    
         
             
              config.add_field! :quota_project, nil, match: String
         
     | 
| 
       155 
176 
     | 
    
         
             
              config.add_field! :retries, nil, match: Integer
         
     | 
| 
      
 177 
     | 
    
         
            +
              config.add_field! :max_elapsed_time, nil, match: Integer
         
     | 
| 
      
 178 
     | 
    
         
            +
              config.add_field! :base_interval, nil, match: Float
         
     | 
| 
      
 179 
     | 
    
         
            +
              config.add_field! :max_interval, nil, match: Integer
         
     | 
| 
      
 180 
     | 
    
         
            +
              config.add_field! :multiplier, nil, match: Integer
         
     | 
| 
       156 
181 
     | 
    
         
             
              config.add_field! :timeout, nil, match: Integer
         
     | 
| 
       157 
182 
     | 
    
         
             
              config.add_field! :open_timeout, nil, match: Integer
         
     | 
| 
       158 
183 
     | 
    
         
             
              config.add_field! :read_timeout, nil, match: Integer
         
     | 
| 
         @@ -160,3 +185,4 @@ Google::Cloud.configure.add_config! :storage do |config| 
     | 
|
| 
       160 
185 
     | 
    
         
             
              # TODO: Remove once discovery document is updated.
         
     | 
| 
       161 
186 
     | 
    
         
             
              config.add_field! :endpoint, "https://storage.googleapis.com/", match: String
         
     | 
| 
       162 
187 
     | 
    
         
             
            end
         
     | 
| 
      
 188 
     | 
    
         
            +
            # rubocop:enable Metrics/BlockLength
         
     | 
    
        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. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.37.0
         
     | 
| 
       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: 2022- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2022-06-30 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: google-cloud-core
         
     | 
| 
         @@ -135,14 +135,14 @@ dependencies: 
     | 
|
| 
       135 
135 
     | 
    
         
             
                requirements:
         
     | 
| 
       136 
136 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       137 
137 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       138 
     | 
    
         
            -
                    version: '5. 
     | 
| 
      
 138 
     | 
    
         
            +
                    version: '5.16'
         
     | 
| 
       139 
139 
     | 
    
         
             
              type: :development
         
     | 
| 
       140 
140 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       141 
141 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       142 
142 
     | 
    
         
             
                requirements:
         
     | 
| 
       143 
143 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       144 
144 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       145 
     | 
    
         
            -
                    version: '5. 
     | 
| 
      
 145 
     | 
    
         
            +
                    version: '5.16'
         
     | 
| 
       146 
146 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       147 
147 
     | 
    
         
             
              name: minitest-autotest
         
     | 
| 
       148 
148 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -318,7 +318,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       318 
318 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       319 
319 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       320 
320 
     | 
    
         
             
            requirements: []
         
     | 
| 
       321 
     | 
    
         
            -
            rubygems_version: 3.3. 
     | 
| 
      
 321 
     | 
    
         
            +
            rubygems_version: 3.3.14
         
     | 
| 
       322 
322 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       323 
323 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       324 
324 
     | 
    
         
             
            summary: API Client library for Google Cloud Storage
         
     |