class Dotenv::MissingVariableNotifier::Core
Public Class Methods
check_for_missing_environment_variables!()
click to toggle source
# File lib/dotenv/missing_variable_notifier/core.rb, line 6 def self.check_for_missing_environment_variables! example_file = ['.env.template', '.env.example'].detect { |example_file| Rails.root.join(example_file).exist? } return unless example_file example_file_contents = File.open(Rails.root.join(example_file), 'rb:bom|utf-8', &:read) example_file_variables = Dotenv::Parser.call(example_file_contents, false) # Thank you dotenv <3 missing_variables = example_file_variables.keys.reject { |variable| ENV.has_key?(variable) } if missing_variables.any? raise MissingEnvironmentVariableError, "There are environment variables in your dotenv template file that are not set in your development environment: #{missing_variables.join(', ')}" end end