google-cloud-storage 1.8.0 → 1.9.0

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: 2561a9dd9f138630b772a0f6ba3dcbe292892761a3dad92f5b5cab785625b11c
4
- data.tar.gz: 5c6ff780bf83212017dd7b82d655925af91fff9653ebb8c8585222790f5501d4
3
+ metadata.gz: 38b2256d0194e6d5fbedc19e638b2b57dab8038a9f93a3019538d2eb56b740c4
4
+ data.tar.gz: 10f4915478a797f777cb64a1cfafa6b841c0590a89f3c8d5784e153a13b8a885
5
5
  SHA512:
6
- metadata.gz: 5d2d95049bf9257957b7c2f5406015caa9e3411af768d79004c133ca25d2907a0e6cb008eb0d935b088818789ec77d91739aac89037e93dfec3de164764700a3
7
- data.tar.gz: f3b3c0bc9422b651d378f361f274d1a4a5354dbe4dc862fb02199c5de40071079f2920a984d9bccd5081abfd2836aed5652aa86af97dd58329b724a6b1e54aee
6
+ metadata.gz: 8d0a5be11ac43e57988db525cad4bf2d006d053a0d69b2ed1c017f71771771017f6e9acc190811b2d575c305971f3ecac736082eac399aff9bea62a9d730cdba
7
+ data.tar.gz: f412a33c819aace6190dfff910df58fe2708b15f2680c8d2749092b860d980d85156e02ebc97a9f7474de90b2f19e67b6c463acd0012c085465225ad7be3e9be
@@ -317,6 +317,23 @@ module Google
317
317
  # downloaded.read #=> "Hello world!"
318
318
  # ```
319
319
  #
320
+ # Download a public file with an anonymous, unauthenticated client. Use
321
+ # `skip_lookup` to avoid errors retrieving non-public bucket and file
322
+ # metadata.
323
+ #
324
+ # ```ruby
325
+ # require "google/cloud/storage"
326
+ #
327
+ # storage = Google::Cloud::Storage.anonymous
328
+ #
329
+ # bucket = storage.bucket "public-bucket", skip_lookup: true
330
+ # file = bucket.file "path/to/public-file.ext", skip_lookup: true
331
+ #
332
+ # downloaded = file.download
333
+ # downloaded.rewind
334
+ # downloaded.read #=> "Hello world!"
335
+ # ```
336
+ #
320
337
  # ## Using Signed URLs
321
338
  #
322
339
  # Access without authentication can be granted to a file for a specified
@@ -600,6 +617,34 @@ module Google
600
617
  Storage::Service.new(
601
618
  project_id, credentials, retries: retries, timeout: timeout))
602
619
  end
620
+
621
+ ##
622
+ # Creates an unauthenticated, anonymous client for retrieving public data
623
+ # from the Storage service. Each call creates a new connection.
624
+ #
625
+ # @param [Integer] retries Number of times to retry requests on server
626
+ # error. The default value is `3`. Optional.
627
+ # @param [Integer] timeout Default timeout to use in requests. Optional.
628
+ #
629
+ # @return [Google::Cloud::Storage::Project]
630
+ #
631
+ # @example Use `skip_lookup` to avoid retrieving non-public metadata:
632
+ # require "google/cloud/storage"
633
+ #
634
+ # storage = Google::Cloud::Storage.anonymous
635
+ #
636
+ # bucket = storage.bucket "public-bucket", skip_lookup: true
637
+ # file = bucket.file "path/to/public-file.ext", skip_lookup: true
638
+ #
639
+ # downloaded = file.download
640
+ # downloaded.rewind
641
+ # downloaded.read #=> "Hello world!"
642
+ #
643
+ def self.anonymous retries: nil, timeout: nil
644
+ Storage::Project.new(
645
+ Storage::Service.new(nil, nil, retries: retries, timeout: timeout)
646
+ )
647
+ end
603
648
  end
604
649
  end
605
650
  end
@@ -49,6 +49,18 @@ module Google
49
49
  # file = bucket.file "path/to/my-file.ext"
50
50
  # file.download "path/to/downloaded/file.ext"
51
51
  #
52
+ # @example Download a public file with an unauthenticated client:
53
+ # require "google/cloud/storage"
54
+ #
55
+ # storage = Google::Cloud::Storage.anonymous
56
+ #
57
+ # bucket = storage.bucket "public-bucket", skip_lookup: true
58
+ # file = bucket.file "path/to/public-file.ext", skip_lookup: true
59
+ #
60
+ # downloaded = file.download
61
+ # downloaded.rewind
62
+ # downloaded.read #=> "Hello world!"
63
+ #
52
64
  class File
53
65
  ##
54
66
  # @private The Connection object.
@@ -485,6 +497,18 @@ module Google
485
497
  # downloaded.rewind
486
498
  # downloaded.read #=> "Hello world!"
487
499
  #
500
+ # @example Download a public file with an unauthenticated client:
501
+ # require "google/cloud/storage"
502
+ #
503
+ # storage = Google::Cloud::Storage.anonymous
504
+ #
505
+ # bucket = storage.bucket "public-bucket", skip_lookup: true
506
+ # file = bucket.file "path/to/public-file.ext", skip_lookup: true
507
+ #
508
+ # downloaded = file.download
509
+ # downloaded.rewind
510
+ # downloaded.read #=> "Hello world!"
511
+ #
488
512
  def download path = nil, verify: :md5, encryption_key: nil
489
513
  ensure_service!
490
514
  if path.nil?
@@ -41,7 +41,6 @@ module Google
41
41
  def initialize project, credentials, retries: nil, timeout: nil
42
42
  @project = project
43
43
  @credentials = credentials
44
- @credentials = credentials
45
44
  @service = API::StorageService.new
46
45
  @service.client_options.application_name = "gcloud-ruby"
47
46
  @service.client_options.application_version = \
@@ -53,7 +52,7 @@ module Google
53
52
  @service.request_options.header ||= {}
54
53
  @service.request_options.header["x-goog-api-client"] = \
55
54
  "gl-ruby/#{RUBY_VERSION} gccl/#{Google::Cloud::Storage::VERSION}"
56
- @service.authorization = @credentials.client
55
+ @service.authorization = @credentials.client if @credentials
57
56
  end
58
57
 
59
58
  def service
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module Storage
19
- VERSION = "1.8.0"
19
+ VERSION = "1.9.0"
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.8.0
4
+ version: 1.9.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: 2017-11-15 00:00:00.000000000 Z
12
+ date: 2017-11-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: google-cloud-core