Sha256: 70fa2a89aa0ad1b55e6bb122ebb25583968bd61b2eadebf8bf039b66b0f2412c

Contents?: true

Size: 670 Bytes

Versions: 3

Compression:

Stored size: 670 Bytes

Contents

require "rubber/cloud/base"

module Rubber
  module Cloud

    def self.get_provider(provider, env, capistrano)
      require "rubber/cloud/#{provider}"
      provider_env = env.cloud_providers[provider]

      # Check to see if we have a Rubber::Cloud::Provider::Factory class.  If
      # not, fall back to Rubber::Cloud::Provider
      begin
        factory = Rubber::Cloud.const_get(Rubber::Util.camelcase(provider))::Factory
        return factory.get_provider(provider_env, capistrano)
      rescue NameError
        clazz = Rubber::Cloud.const_get(Rubber::Util.camelcase(provider))
        return clazz.new(provider_env, capistrano)
      end
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rubber-3.2.2 lib/rubber/cloud.rb
rubber-3.2.1 lib/rubber/cloud.rb
rubber-3.2.0 lib/rubber/cloud.rb