Return fake if and only if there's no database

Because `connect_to_db?` already detects if the table exists or not
This commit is contained in:
Lin Jen-Shin 2018-12-14 17:14:21 +08:00 committed by Rémy Coutable
parent 71672dfa6a
commit 1ae28e0e7b
No known key found for this signature in database
GPG Key ID: 98DFFD1C0C62B70B
1 changed files with 10 additions and 21 deletions

View File

@ -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)
::ApplicationSetting.new(final_attributes)
elsif current_settings.present?
current_settings
else
::ApplicationSetting.create_from_defaults ||
in_memory_application_settings
end
end
return current_settings if current_settings.present?
with_fallback_to_fake_application_settings do
::ApplicationSetting.create_from_defaults || in_memory_application_settings
end
def fake_application_settings(attributes = {})
Gitlab::FakeApplicationSettings.new(::ApplicationSetting.defaults.merge(attributes || {}))
end
def in_memory_application_settings
with_fallback_to_fake_application_settings do
@in_memory_application_settings ||= ::ApplicationSetting.build_from_defaults
end
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
@in_memory_application_settings ||= ::ApplicationSetting.build_from_defaults
end
def connect_to_db?