Sha256: 4a1a7976d2268a816c6741246c7ddb3ae98299508d97970cbc4e504fac589698
Contents?: true
Size: 1.12 KB
Versions: 1
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: true module EJSON module Rails Rails = ::Rails private_constant :Rails class Railtie < Rails::Railtie singleton_class.attr_accessor(:set_secrets) @set_secrets = true config.before_configuration do json_file = json_files.detect { |file| valid?(file) } next unless json_file secrets = JSON.parse(json_file.read, symbolize_names: true) Rails.application.secrets.deep_merge!(secrets) if set_secrets # Merging into `credentials.config` because in Rails 7.0, reading a credential with # Rails.application.credentials[:some_credential] won't work otherwise. Rails.application.credentials.config.deep_merge!(secrets) do |key| raise "A credential already exists with the same name: #{key}" end end class << self private def valid?(pathname) pathname.exist? end def json_files [ Rails.root.join("config", "secrets.json"), Rails.root.join("config", "secrets.#{Rails.env}.json"), ] end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ejson-rails-0.2.0 | lib/ejson/rails/railtie.rb |