class Bosh::Blobstore::Client

Constants

PROVIDER_NAMES
VERSION

Public Class Methods

create(blobstore_provider, options = {}) click to toggle source
# 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 = {}) click to toggle source
# 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

Private Class Methods

blobstore_client_constantize(base_string) click to toggle source
# File lib/blobstore_client/client.rb, line 24
def self.blobstore_client_constantize(base_string)
  class_string = base_string.capitalize + (base_string == 'local' ? '' : 'Blobstore') + 'Client'
  Bosh::Blobstore.const_get class_string
end