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