X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/735d5487e328eb51bbaaca0475e4facf6af84567..e8d11e963248fada51bdb1ecc59446adccff440f:/apps/workbench/config/load_config.rb diff --git a/apps/workbench/config/load_config.rb b/apps/workbench/config/load_config.rb index 51fc81ab75..e2185a8969 100644 --- a/apps/workbench/config/load_config.rb +++ b/apps/workbench/config/load_config.rb @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + # This file must be loaded _after_ secret_token.rb if secret_token is # defined there instead of in config/application.yml. @@ -7,7 +11,7 @@ $application_config = {} path = "#{::Rails.root.to_s}/config/#{cfgfile}.yml" if File.exists? path yaml = ERB.new(IO.read path).result(binding) - confs = YAML.load(yaml) + confs = YAML.load(yaml, deserialize_symbols: true) $application_config.merge!(confs['common'] || {}) $application_config.merge!(confs[::Rails.env.to_s] || {}) end @@ -23,11 +27,17 @@ ArvadosWorkbench::Application.configure do ks.each do |kk| cfg = cfg.send(kk) end - if cfg.respond_to?(k.to_sym) and !cfg.send(k).nil? - # Config must have been set already in environments/*.rb. + 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. # # After config files have been migrated, this mechanism should - # be deprecated, then removed. + # be removed. + Rails.logger.warn <