Module: Krypt::Provider
- Defined in:
- lib/krypt/provider.rb
Defined Under Namespace
Classes: AlreadyExistsError, ServiceNotAvailableError
Constant Summary
collapse
- PROVIDERS =
{}
- PROVIDER_LIST =
[]
Class Method Summary
collapse
Class Method Details
.by_name(name) ⇒ Object
18
19
20
|
# File 'lib/krypt/provider.rb', line 18
def by_name(name)
PROVIDERS[name]
end
|
.new_service(klass, *args) ⇒ Object
27
28
29
30
31
32
33
|
# File 'lib/krypt/provider.rb', line 27
def new_service(klass, *args)
PROVIDER_LIST.reverse.each do |name|
service = PROVIDERS[name].new_service(klass, *args)
return service if service
end
raise ServiceNotAvailableError.new("The requested service is not available")
end
|
.register(name, provider) ⇒ Object
.remove(name) ⇒ Object
22
23
24
25
|
# File 'lib/krypt/provider.rb', line 22
def remove(name)
PROVIDERS.delete(name)
PROVIDER_LIST.delete(name)
end
|