diff options
author | Lin Jen-Shin <godfat@godfat.org> | 2018-12-14 12:14:21 +0300 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2018-12-19 13:24:54 +0300 |
commit | 1ae28e0e7b5996536e4c8005c362d3f82088c77c (patch) | |
tree | a442626d6966d14088590472f1237aae4fc23287 /lib/gitlab/current_settings.rb | |
parent | 71672dfa6afbb374b24ae5457a58204708d948ed (diff) |
Return fake if and only if there's no database
Because `connect_to_db?` already detects if the table exists or not
Diffstat (limited to 'lib/gitlab/current_settings.rb')
-rw-r--r-- | lib/gitlab/current_settings.rb | 31 |
1 files 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? |