Class: ProxyFetcher::ProvidersRegistry
- Inherits:
-
Object
- Object
- ProxyFetcher::ProvidersRegistry
- Defined in:
- lib/proxy_fetcher/configuration/providers_registry.rb
Instance Method Summary collapse
-
#class_for(provider_name) ⇒ Object
Returns a class for specific provider if it is registered in the registry.
- #providers ⇒ Object
-
#register(name, klass) ⇒ Object
Add custom provider to common registry.
Instance Method Details
#class_for(provider_name) ⇒ Object
Returns a class for specific provider if it is registered in the registry. Otherwise throws an exception.
18 19 20 21 22 23 24 |
# File 'lib/proxy_fetcher/configuration/providers_registry.rb', line 18 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 ⇒ Object
3 4 5 |
# File 'lib/proxy_fetcher/configuration/providers_registry.rb', line 3 def providers @providers ||= {} end |
#register(name, klass) ⇒ Object
Add custom provider to common registry. Requires proxy provider name (‘proxy_docker’ for example) and a class that implements the parsing logic.
10 11 12 13 14 |
# File 'lib/proxy_fetcher/configuration/providers_registry.rb', line 10 def register(name, klass) raise ProxyFetcher::Exceptions::RegisteredProvider, name if providers.key?(name.to_sym) providers[name.to_sym] = klass end |