class SimplyGenius::Atmos::ProviderFactory

Public Class Methods

get(name) click to toggle source
# File lib/simplygenius/atmos/provider_factory.rb, line 9
def self.get(name)
  @providers ||= {}
  provider = @providers[name] ||= begin
    logger.debug("Loading provider: #{name}")
    require "simplygenius/atmos/providers/#{name}/provider"
    provider_class = "SimplyGenius::Atmos::Providers::#{name.camelize}::Provider".constantize
    logger.debug("Loaded provider #{provider_class}")
    provider_class.new(name)
  end
  return provider
end