Module: Rubber::Cloud
- Defined in:
- lib/rubber/cloud.rb,
lib/rubber/cloud/aws.rb,
lib/rubber/cloud/fog.rb,
lib/rubber/cloud/base.rb,
lib/rubber/cloud/aws/vpc.rb,
lib/rubber/cloud/generic.rb,
lib/rubber/cloud/vagrant.rb,
lib/rubber/cloud/vsphere.rb,
lib/rubber/cloud/aws/base.rb,
lib/rubber/cloud/aws/classic.rb,
lib/rubber/cloud/fog_storage.rb,
lib/rubber/cloud/digital_ocean.rb,
lib/rubber/cloud/aws/table_store.rb
Defined Under Namespace
Modules: Aws Classes: Base, DigitalOcean, Fog, FogStorage, Generic, Vagrant, Vsphere
Class Method Summary collapse
Class Method Details
.get_provider(provider, env, capistrano) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/rubber/cloud.rb', line 6 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 |