class ProxyFetcher::ProvidersRegistry

ProxyFetcher providers registry that stores all registered proxy providers.

Public Instance Methods

class_for(provider_name) click to toggle source

Returns a class for specific provider if it is registered in the registry. Otherwise throws an exception.

@param provider_name [String, Symbol]

provider name

@return [Class]

provider class

@raise [ProxyFetcher::Exceptions::UnknownProvider]

provider is unknown
# File lib/proxy_fetcher/configuration/providers_registry.rb, line 47
def class_for(provider_name)
  provider_name = provider_name.to_sym

  providers.fetch(provider_name)
rescue KeyError
  raise ProxyFetcher::Exceptions::UnknownProvider, provider_name
end
providers() click to toggle source

Returns providers hash where key is the name of the provider and value is an associated class.

@return [Hash]

registered providers
# File lib/proxy_fetcher/configuration/providers_registry.rb, line 12
def providers
  @providers ||= {}
end
register(name, klass) click to toggle source

Add custom provider to common registry. Requires proxy provider name ('xroxy' for example) and a class that implements the parsing logic.

@param name [String, Symbol]

provider name

@param klass [Class]

provider class

@raise [ProxyFetcher::Exceptions::RegisteredProvider]

provider already registered
# File lib/proxy_fetcher/configuration/providers_registry.rb, line 29
def register(name, klass)
  raise ProxyFetcher::Exceptions::RegisteredProvider, name if providers.key?(name.to_sym)

  providers[name.to_sym] = klass
end