mirror of
https://github.com/discourse/discourse.git
synced 2025-03-09 14:34:35 +00:00
This change-set allows setting different defaults for different locales. It also: - Adds extensive testing around site setting validation - raises deprecation error if site setting has the default property based on env - relocated site settings for dev and tests in the initializer - deprecated client_setting in the site setting's loading process - ensure it raises when a enum site setting being set - default_locale is promoted to `required` category. - fixes incorrect default setting and validation - fixes ensure type check for site settings - creates a benchmark for site setting - sets reasonable defaults for Chinese
27 lines
1.0 KiB
Ruby
27 lines
1.0 KiB
Ruby
module SiteSettings; end
|
|
|
|
module SiteSettings::DeprecatedSettings
|
|
DEPRECATED_SETTINGS = [
|
|
%w[use_https force_https 1.7]
|
|
]
|
|
|
|
def setup_deprecated_methods
|
|
DEPRECATED_SETTINGS.each do |old_setting, new_setting, version|
|
|
define_singleton_method old_setting do
|
|
logger.warn("`SiteSetting.#{old_setting}` has been deprecated and will be removed in the #{version} Release. Please use `SiteSetting.#{new_setting}` instead")
|
|
self.public_send new_setting
|
|
end
|
|
|
|
define_singleton_method "#{old_setting}?" do
|
|
logger.warn("`SiteSetting.#{old_setting}?` has been deprecated and will be removed in the #{version} Release. Please use `SiteSetting.#{new_setting}?` instead")
|
|
self.public_send "#{new_setting}?"
|
|
end
|
|
|
|
define_singleton_method "#{old_setting}=" do |val|
|
|
logger.warn("`SiteSetting.#{old_setting}=` has been deprecated and will be removed in the #{version} Release. Please use `SiteSetting.#{new_setting}=` instead")
|
|
self.public_send "#{new_setting}=", val
|
|
end
|
|
end
|
|
end
|
|
end
|