Module: EasyCreds::Provider
- Defined in:
- lib/easy_creds/provider.rb
Overview
Registry of available secret-storage providers. v1 ships only :onepassword. Future providers (env-var, AWS Secrets Manager, HashiCorp Vault) register here without changing call-sites.
Class Method Summary collapse
- .build(name, **opts) ⇒ Object
- .fetch(name) ⇒ Object
- .register(name, klass) ⇒ Object
- .registered ⇒ Object
Class Method Details
.build(name, **opts) ⇒ Object
21 22 23 |
# File 'lib/easy_creds/provider.rb', line 21 def build(name, **opts) fetch(name).new(**opts) end |
.fetch(name) ⇒ Object
15 16 17 18 19 |
# File 'lib/easy_creds/provider.rb', line 15 def fetch(name) @registry.fetch(name.to_sym) do raise ArgumentError, "Unknown provider '#{name}'. Registered: #{@registry.keys.join(', ')}" end end |
.register(name, klass) ⇒ Object
11 12 13 |
# File 'lib/easy_creds/provider.rb', line 11 def register(name, klass) @registry[name.to_sym] = klass end |
.registered ⇒ Object
25 26 27 |
# File 'lib/easy_creds/provider.rb', line 25 def registered @registry.keys end |