demarches-normaliennes/config/initializers/env_vars.rb
Pierre de La Morinerie b4aadf43cd initializers: check that env vars declared in env.example are present
If an environment variable is declared in `config/env.example`, but not
present in the actual environment, the server initialization will raise
an exception.

Empty strings are allowed (because some values are relevant only in
development or production).
2018-09-04 10:20:20 +02:00

13 lines
589 B
Ruby
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Ensure that the environment variables defined in the reference env vars file
# are present in the execution environment.
#
# This protects against an out-to-date environment leading to runtime errors.
if ENV['RAILS_ENV'] != 'test' && File.basename($0) != 'rake'
reference_env_file = File.join('config', 'env.example')
Dotenv::Environment.new(Rails.root.join(reference_env_file)).each do |key, value|
if !ENV.key?(key.to_s)
raise "Configuration error: `#{key}` is not present in the process environment variables (declared in `#{reference_env_file}`)"
end
end
end