Class: Dotenv::SecretsManager::Resolver

Inherits:
Object
  • Object
show all
Defined in:
lib/dotenv/secretsmanager/resolver.rb

Defined Under Namespace

Classes: Failure, ResolutionFailure

Instance Method Summary collapse

Constructor Details

#initialize(env:, config:) ⇒ Resolver

Returns a new instance of Resolver.



14
15
16
17
18
# File 'lib/dotenv/secretsmanager/resolver.rb', line 14

def initialize(env:, config:)
  @env = env
  @config = config
  @secret_cache = {}
end

Instance Method Details

#resolve!Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/dotenv/secretsmanager/resolver.rb', line 20

def resolve!
  references = collect_references
  return @env if references.empty?

  failures = []
  references.each do |env_key, reference|
    @env[env_key] = resolve_one(reference)
  rescue ResolutionFailure => e
    failures << Failure.new(env_key, reference, e.message)
  end

  handle_failures(failures) unless failures.empty?
  @env
end