Class: Foederati::Providers
- Inherits:
-
Object
- Object
- Foederati::Providers
- Defined in:
- lib/foederati/providers.rb
Overview
All providers known to Foederati
Class Attribute Summary collapse
-
.registry ⇒ Object
readonly
Returns the value of attribute registry.
Class Method Summary collapse
-
.get(id) ⇒ Foederati::Provider
Get a provider from the registry.
-
.register(id_or_provider, &block) ⇒ Object
Register a provider.
-
.unregister(id) ⇒ Object
Unregisters a provider.
Class Attribute Details
.registry ⇒ Object (readonly)
Returns the value of attribute registry.
9 10 11 |
# File 'lib/foederati/providers.rb', line 9 def registry @registry end |
Class Method Details
.get(id) ⇒ Foederati::Provider
Get a provider from the registry
41 42 43 |
# File 'lib/foederati/providers.rb', line 41 def get(id) registry[id] end |
.register(id_or_provider, &block) ⇒ Object
Register a provider
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/foederati/providers.rb', line 16 def register(id_or_provider, &block) case id_or_provider when Foederati::Provider registry[id_or_provider.id] = id_or_provider when Symbol registry[id_or_provider] = Provider.new(id_or_provider, &block) else fail ArgumentError, "Expected Symbol or Foederati::Provider, got #{id_or_provider.class}" end end |
.unregister(id) ⇒ Object
Unregisters a provider
32 33 34 |
# File 'lib/foederati/providers.rb', line 32 def unregister(id) registry.delete(id) end |