diff --git a/Gemfile b/Gemfile index f8423adc251..96d9e145415 100644 --- a/Gemfile +++ b/Gemfile @@ -33,7 +33,7 @@ gem "bcrypt", "~> 3.1.10", :require => false gem "bundler", ">=1.15", :require => false gem "byebug", :require => false gem "color", "~>1.8" -gem "config", "~>1.6.0", :require => false +gem "config", "~>2.0", :require => false gem "dalli", "=2.7.6", :require => false gem "default_value_for", "~>3.3" gem "docker-api", "~>1.33.6", :require => false diff --git a/lib/vmdb/settings.rb b/lib/vmdb/settings.rb index 9609a5f62fa..64914f45e0d 100644 --- a/lib/vmdb/settings.rb +++ b/lib/vmdb/settings.rb @@ -29,6 +29,7 @@ def initialize(errors) def self.init ::Config.overwrite_arrays = true + ::Config.merge_nil_values = false reset_settings_constant(for_resource(:my_server)) on_reload end @@ -182,8 +183,9 @@ def self.local_sources # sources and doesn't allow you insert new sources into the middle of the # stack. def self.reset_settings_constant(settings) - Kernel.send(:remove_const, ::Config.const_name) if Kernel.const_defined?(::Config.const_name) - Kernel.const_set(::Config.const_name, settings) + name = ::Config.const_name + Object.send(:remove_const, name) if Object.const_defined?(name) + Object.const_set(name, settings) end private_class_method :reset_settings_constant