Module: Dotenv::SecretsManager
- Defined in:
- lib/dotenv/secretsmanager.rb,
lib/dotenv/secretsmanager/errors.rb,
lib/dotenv/secretsmanager/railtie.rb,
lib/dotenv/secretsmanager/version.rb,
lib/dotenv/secretsmanager/resolver.rb,
lib/dotenv/secretsmanager/reference.rb,
lib/dotenv/secretsmanager/configuration.rb
Defined Under Namespace
Classes: Configuration, Railtie, Reference, ResolutionError, Resolver
Constant Summary
collapse
- SKIP_ENV_VAR =
"DOTENV_SECRETSMANAGER_SKIP"
- VERSION =
"0.3.0"
Class Method Summary
collapse
Class Method Details
.configuration ⇒ Object
15
16
17
|
# File 'lib/dotenv/secretsmanager.rb', line 15
def configuration
@configuration ||= Configuration.new
end
|
19
20
21
22
|
# File 'lib/dotenv/secretsmanager.rb', line 19
def configure
yield(configuration) if block_given?
configuration
end
|
.reset_configuration! ⇒ Object
24
25
26
|
# File 'lib/dotenv/secretsmanager.rb', line 24
def reset_configuration!
@configuration = Configuration.new
end
|
.resolve!(env = ENV) ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/dotenv/secretsmanager.rb', line 28
def resolve!(env = ENV)
if skip?
env.keys.each { |key| env.delete(key) if Reference.reference?(env[key]) }
return env
end
Resolver.new(env: env, config: configuration).resolve!
end
|
.skip? ⇒ Boolean
Skip resolution entirely. Either the env var or the config flag can request it; resolution happens only when neither does. Read at call time so a railtie firing during an image build honors the env var.
44
45
46
|
# File 'lib/dotenv/secretsmanager.rb', line 44
def skip?
truthy?(ENV[SKIP_ENV_VAR]) || configuration.skip
end
|