From 1ae28e0e7b5996536e4c8005c362d3f82088c77c Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin Date: Fri, 14 Dec 2018 17:14:21 +0800 Subject: Return fake if and only if there's no database Because `connect_to_db?` already detects if the table exists or not --- lib/gitlab/current_settings.rb | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/lib/gitlab/current_settings.rb b/lib/gitlab/current_settings.rb index e6c80bed5a5..168542f77e6 100644 --- a/lib/gitlab/current_settings.rb +++ b/lib/gitlab/current_settings.rb @@ -7,10 +7,6 @@ module Gitlab Gitlab::SafeRequestStore.fetch(:current_application_settings) { ensure_application_settings! } end - def fake_application_settings(attributes = {}) - Gitlab::FakeApplicationSettings.new(::ApplicationSetting.defaults.merge(attributes || {})) - end - def clear_in_memory_application_settings! @in_memory_application_settings = nil end @@ -58,28 +54,21 @@ module Gitlab .stringify_keys .slice(*column_names) - return ::ApplicationSetting.new(final_attributes) - end - - return current_settings if current_settings.present? - - with_fallback_to_fake_application_settings do - ::ApplicationSetting.create_from_defaults || in_memory_application_settings + ::ApplicationSetting.new(final_attributes) + elsif current_settings.present? + current_settings + else + ::ApplicationSetting.create_from_defaults || + in_memory_application_settings end end - def in_memory_application_settings - with_fallback_to_fake_application_settings do - @in_memory_application_settings ||= ::ApplicationSetting.build_from_defaults - end + def fake_application_settings(attributes = {}) + Gitlab::FakeApplicationSettings.new(::ApplicationSetting.defaults.merge(attributes || {})) end - def with_fallback_to_fake_application_settings(&block) - yield - rescue - # In case the application_settings table is not created yet, or if a new - # ApplicationSetting column is not yet migrated we fallback to a simple OpenStruct - fake_application_settings + def in_memory_application_settings + @in_memory_application_settings ||= ::ApplicationSetting.build_from_defaults end def connect_to_db? -- cgit v1.2.1