Module: Confium::Crypto
- Defined in:
- lib/confium/crypto.rb
Class Method Summary collapse
-
.interfaces ⇒ Object
Enumerate the names of every registered interface.
-
.lookup(name) ⇒ Object
Resolve a registered interface by
name. -
.register(name, klass) ⇒ Object
Register an interface
klassunder the symbolicname.
Class Method Details
.interfaces ⇒ Object
Enumerate the names of every registered interface. Primarily for introspection and tooling.
45 46 47 |
# File 'lib/confium/crypto.rb', line 45 def interfaces @interfaces.keys.dup end |
.lookup(name) ⇒ Object
Resolve a registered interface by name. Raises ArgumentError if
nothing has been registered under that name.
37 38 39 40 41 |
# File 'lib/confium/crypto.rb', line 37 def lookup(name) @interfaces.fetch(name) do raise ArgumentError, "unknown interface #{name.inspect}" end end |
.register(name, klass) ⇒ Object
Register an interface klass under the symbolic name. Adding a
new interface is a one-line registration; no central switch needs
editing.
30 31 32 33 |
# File 'lib/confium/crypto.rb', line 30 def register(name, klass) @interfaces[name] = klass klass end |