Sha256: acf20ddf1a59af9680b49601ad148ea5387bde0d6de24ee9063ef5a2be0a923b
Contents?: true
Size: 976 Bytes
Versions: 8
Compression:
Stored size: 976 Bytes
Contents
# frozen_string_literal: true module Anyway using RubyNext module Rails module Loaders class Secrets < Anyway::Loaders::Base 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| config.deep_merge!(secrets) if secrets end config end private def secrets @secrets ||= begin ::Rails.application.secrets.tap do |_| # Reset secrets state if the app hasn't been initialized # See https://github.com/palkan/anyway_config/issues/14 next if ::Rails.application.initialized? ::Rails.application.remove_instance_variable(:@secrets) end end end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems