module Fog::Provider

Public Class Methods

extended(base) click to toggle source
# 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

Public Instance Methods

[](service_key) click to toggle source
# File lib/fog/core/provider.rb, line 18
def [](service_key)
  eval(@services_registry[service_key]).new
end
service(new_service, constant_string) click to toggle source
# File lib/fog/core/provider.rb, line 22
def service(new_service, 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('::')
end
services() click to toggle source
# File lib/fog/core/provider.rb, line 29
def services
  @services_registry.keys
end