7709: Merge branch 'master' into 7709-api-rails4
[arvados.git] / services / api / config / initializers / load_config.rb
index cb31a24784f4bb71842cbd8fc905cf413ba9dee6..787469cca3abd9ad51cb438c1e223fccaf873370 100644 (file)
@@ -6,7 +6,7 @@ rescue LoadError
   # configured by application.yml (i.e., here!) instead.
 end
 
-if (File.exists?(File.expand_path '../omniauth.rb', __FILE__) and
+if (File.exist?(File.expand_path '../omniauth.rb', __FILE__) and
     not defined? WARNED_OMNIAUTH_CONFIG)
   Rails.logger.warn <<-EOS
 DEPRECATED CONFIGURATION:
@@ -26,9 +26,9 @@ $application_config = {}
 
 %w(application.default application).each do |cfgfile|
   path = "#{::Rails.root.to_s}/config/#{cfgfile}.yml"
-  if File.exists? path
+  if File.exist? path
     yaml = ERB.new(IO.read path).result(binding)
-    confs = YAML.load(yaml)
+    confs = YAML.load(yaml, deserialize_symbols: true)
     # Ignore empty YAML file:
     next if confs == false
     $application_config.merge!(confs['common'] || {})
@@ -46,17 +46,11 @@ Server::Application.configure do
     ks.each do |kk|
       cfg = cfg.send(kk)
     end
-    if v.nil? and cfg.respond_to?(k) and !cfg.send(k).nil?
-      # Config is nil in *.yml, but has been set already in
-      # environments/*.rb (or has a Rails default). Don't overwrite
-      # the default/upstream config with nil.
+    if cfg.respond_to?(k.to_sym) and !cfg.send(k).nil?
+      # Config must have been set already in environments/*.rb.
       #
       # After config files have been migrated, this mechanism should
-      # be removed.
-      Rails.logger.warn <<EOS
-DEPRECATED: Inheriting config.#{ks.join '.'} from Rails config.
-            Please move this config into config/application.yml.
-EOS
+      # be deprecated, then removed.
     elsif v.nil?
       # Config variables are not allowed to be nil. Make a "naughty"
       # list, and present it below.
@@ -75,4 +69,5 @@ config/application.yml:
 
 EOS
   end
+  config.secret_key_base = config.secret_token
 end