Class: Bosh::Blobstore::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/blobstore_client/client.rb,
lib/blobstore_client/version.rb

Direct Known Subclasses

BaseClient

Constant Summary collapse

PROVIDER_NAMES =
%w[dav simple s3 local s3cli]
VERSION =
'1.3262.4.0'

Class Method Summary collapse

Class Method Details

.create(blobstore_provider, options = {}) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/blobstore_client/client.rb', line 6

def self.create(blobstore_provider, options = {})
  unless PROVIDER_NAMES.include?(blobstore_provider)
    raise BlobstoreError,
      "Unknown client provider '#{blobstore_provider}', " +
      "available providers are: #{PROVIDER_NAMES}"
  end
  blobstore_client_constantize(blobstore_provider).new(options)
end

.safe_create(provider, options = {}) ⇒ Object



15
16
17
18
19
20
# File 'lib/blobstore_client/client.rb', line 15

def self.safe_create(provider, options = {})
  wrapped_client = create(provider, options)
  sha1_client    = Sha1VerifiableBlobstoreClient.new(wrapped_client)
  retryable      = Retryable.new(tries: 6, sleep: 2.0, on: [BlobstoreError])
  RetryableBlobstoreClient.new(sha1_client, retryable)
end