Class: SimplyGenius::Atmos::ProviderFactory

Inherits:
Object
  • Object
show all
Includes:
GemLogger::LoggerSupport
Defined in:
lib/simplygenius/atmos/provider_factory.rb

Class Method Summary collapse

Class Method Details

.get(name) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/simplygenius/atmos/provider_factory.rb', line 9

def self.get(name)
  @provider ||= begin
    logger.debug("Loading provider: #{name}")
    require "simplygenius/atmos/providers/#{name}/provider"
    provider = "SimplyGenius::Atmos::Providers::#{name.camelize}::Provider".constantize
    logger.debug("Loaded provider #{provider}")
    provider.new(name)
  end
  return @provider
end