Sha256: 63d5b9ca3ae487f4a64c07b45a13d9676547ced4fe2f1011ae8a13b5db32c812

Contents?: true

Size: 946 Bytes

Versions: 1

Compression:

Stored size: 946 Bytes

Contents

# Copyright (c) 2009-2012 VMware, Inc.

module Bosh; module Blobstore; end; end

require "blobstore_client/version"
require "blobstore_client/errors"

require "blobstore_client/client"
require "blobstore_client/base"
require "blobstore_client/simple_blobstore_client"
require "blobstore_client/s3_blobstore_client"
require "blobstore_client/local_client"
require "blobstore_client/atmos_blobstore_client"

module Bosh
  module Blobstore
    class Client

      PROVIDER_MAP = {
        "simple" => SimpleBlobstoreClient,
        "s3" => S3BlobstoreClient,
        "atmos" => AtmosBlobstoreClient,
        "local" => LocalClient
      }

      def self.create(provider, options = {})
        p = PROVIDER_MAP[provider]
        if p
          p.new(options)
        else
          providers = PROVIDER_MAP.keys.sort.join(", ")
          raise "Invalid client provider, available providers are: #{providers}"
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
blobstore_client-0.3.13 lib/blobstore_client.rb