From d72f3039300613487af606ce69e5b7b8b2c67027 Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Mon, 13 Apr 2015 13:47:03 -0400 Subject: [PATCH] 5414: Control initializer load order using require_relative instead of alphabetical filenames. --- services/api/config/initializers/zz_load_config.rb | 8 ++++++++ services/api/config/initializers/zz_preload_all_models.rb | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/services/api/config/initializers/zz_load_config.rb b/services/api/config/initializers/zz_load_config.rb index 8b454b6a72..3b516dacad 100644 --- a/services/api/config/initializers/zz_load_config.rb +++ b/services/api/config/initializers/zz_load_config.rb @@ -1,3 +1,11 @@ +begin + # If secret_token.rb exists here, we need to load it first. + require_relative 'secret_token.rb' +rescue LoadError + # Normally secret_token.rb is missing and the secret token is + # configured by application.yml (i.e., here!) instead. +end + $application_config = {} %w(application.default application).each do |cfgfile| diff --git a/services/api/config/initializers/zz_preload_all_models.rb b/services/api/config/initializers/zz_preload_all_models.rb index 1a76b72ed3..d5af524903 100644 --- a/services/api/config/initializers/zz_preload_all_models.rb +++ b/services/api/config/initializers/zz_preload_all_models.rb @@ -1,5 +1,10 @@ # See http://aaronvb.com/articles/37-rails-caching-and-undefined-class-module +# Config must be done before we load model class files; otherwise they +# won't be able to use Rails.configuration.* to initialize their +# classes. +require_relative 'zz_load_config.rb' + if Rails.env == 'development' Dir.foreach("#{Rails.root}/app/models") do |model_file| require_dependency model_file if model_file.match /\.rb$/ -- 2.30.2