Class: Anyway::Rails::Loaders::Secrets

Inherits:
Loaders::Base show all
Defined in:
lib/anyway/rails/loaders/secrets.rb

Instance Method Summary collapse

Methods inherited from Loaders::Base

call, #initialize, #use_local?

Methods included from Tracing

capture, current_trace, current_trace_source, source_stack, trace!, trace_stack, with_trace_source

Constructor Details

This class inherits a constructor from Anyway::Loaders::Base

Instance Method Details

#call(name:, **_options) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/anyway/rails/loaders/secrets.rb', line 9

def call(name:, **_options)
  return {} unless ::Rails.application.respond_to?(:secrets)

  # Create a new hash cause secrets are mutable!
  config = {}

  trace!(:secrets) do
    secrets.public_send(name)
  end.then do |secrets|
    Utils.deep_merge!(config, secrets) if secrets
  end

  config
end