From a037a79130f7207840baf016316a62e5619ba98e Mon Sep 17 00:00:00 2001 From: Michael Kozono <mkozono@gmail.com> Date: Thu, 17 Aug 2017 15:09:03 -0700 Subject: [PATCH] Setup repositories settings properly --- config/initializers/1_settings.rb | 6 +++++- spec/initializers/settings_spec.rb | 9 +++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb index 5de46eddab6..abaabad5d65 100644 --- a/config/initializers/1_settings.rb +++ b/config/initializers/1_settings.rb @@ -440,7 +440,9 @@ unless Settings.repositories.storages['default'] Settings.repositories.storages['default']['path'] ||= Settings.gitlab['user_home'] + '/repositories/' end -Settings.repositories.storages.values.each do |storage| +Settings.repositories.storages.each do |key, storage| + storage = Settingslogic.new(storage) + # Expand relative paths storage['path'] = Settings.absolute(storage['path']) # Set failure defaults @@ -454,6 +456,8 @@ Settings.repositories.storages.values.each do |storage| storage['failure_reset_time'] = storage['failure_reset_time'].to_i # We might want to have a timeout shorter than 1 second. storage['storage_timeout'] = storage['storage_timeout'].to_f + + Settings.repositories.storages[key] = storage end # diff --git a/spec/initializers/settings_spec.rb b/spec/initializers/settings_spec.rb index 092e8c0381c..9a974e70e8c 100644 --- a/spec/initializers/settings_spec.rb +++ b/spec/initializers/settings_spec.rb @@ -27,6 +27,15 @@ describe Settings do expect(repository_settings['failure_reset_time']).to eq(1800) expect(repository_settings['storage_timeout']).to eq(5) end + + it 'can be accessed with dot syntax all the way down' do + expect(Gitlab.config.repositories.storages.broken.failure_count_threshold).to eq(10) + end + + it 'can be accessed in a very specific way that breaks without reassigning each element with Settingslogic' do + storage_settings = Gitlab.config.repositories.storages['broken'] + expect(storage_settings.failure_count_threshold).to eq(10) + end end describe '#host_without_www' do -- 2.30.9