Module: Fog::Provider
- Included in:
- AWS, Atmos, BareMetalCloud, Bluebox, Brightbox, Clodo, Cloudstack, DNSMadeEasy, DNSimple, Dreamhost, Dynect, Ecloud, Glesys, GoGrid, Google, HP, IBM, InternetArchive, Joyent, Libvirt, Linode, Local, Ninefold, OpenStack, Ovirt, Rackspace, RiakCS, Serverlove, StormOnDemand, Vcloud, Vmfusion, Voxel, Vsphere, XenServer, Zerigo
- Defined in:
- lib/fog/core/provider.rb
Class Method Summary (collapse)
Instance Method Summary (collapse)
- - (Object) [](service_key)
- - (Object) service(new_service, path, constant_string)
- - (Object) services
Class Method Details
+ (Object) extended(base)
13 14 15 16 |
# File 'lib/fog/core/provider.rb', line 13 def self.extended(base) provider = base.to_s.split('::').last Fog.providers[provider.downcase.to_sym] = provider end |
Instance Method Details
- (Object) [](service_key)
18 19 20 |
# File 'lib/fog/core/provider.rb', line 18 def [](service_key) eval(@services_registry[service_key]).new end |
- (Object) service(new_service, path, constant_string)
22 23 24 25 26 27 28 |
# File 'lib/fog/core/provider.rb', line 22 def service(new_service, path, constant_string) Fog.services[new_service] ||= [] Fog.services[new_service] |= [self.to_s.split('::').last.downcase.to_sym] @services_registry ||= {} @services_registry[new_service] = [self.to_s, constant_string].join('::') require File.join('fog', path) end |
- (Object) services
30 31 32 |
# File 'lib/fog/core/provider.rb', line 30 def services @services_registry.keys end |