discourse/lib/site_settings/deprecated_settings.rb
Martin Brennan 27082f7f53
DEV: Remove noisy SiteSetting deprecations (#21459)
We don't need these, they are causing a lot of
log noise on our servers, they have been removed
from the main branch from some time and it is
doubtful that anyone else needs to be told these
warnings on stable.
2023-05-09 19:40:01 +02:00

74 lines
2.1 KiB
Ruby

# frozen_string_literal: true
module SiteSettings
end
module SiteSettings::DeprecatedSettings
SETTINGS = [
# [<old setting>, <new_setting>, <override>, <version to drop>]
["search_tokenize_chinese_japanese_korean", "search_tokenize_chinese", true, "2.9"],
["default_categories_regular", "default_categories_normal", true, "3.0"],
]
def setup_deprecated_methods
SETTINGS.each do |old_setting, new_setting, override, version|
unless override
SiteSetting.singleton_class.public_send(
:alias_method,
:"_#{old_setting}",
:"#{old_setting}",
)
end
define_singleton_method old_setting do |warn: true|
if warn
Discourse.deprecate(
"`SiteSetting.#{old_setting}` has been deprecated. Please use `SiteSetting.#{new_setting}` instead.",
drop_from: version,
)
end
self.public_send(override ? new_setting : "_#{old_setting}")
end
unless override
SiteSetting.singleton_class.public_send(
:alias_method,
:"_#{old_setting}?",
:"#{old_setting}?",
)
end
define_singleton_method "#{old_setting}?" do |warn: true|
if warn
Discourse.deprecate(
"`SiteSetting.#{old_setting}?` has been deprecated. Please use `SiteSetting.#{new_setting}?` instead.",
drop_from: version,
)
end
self.public_send("#{override ? new_setting : "_" + old_setting}?")
end
unless override
SiteSetting.singleton_class.public_send(
:alias_method,
:"_#{old_setting}=",
:"#{old_setting}=",
)
end
define_singleton_method "#{old_setting}=" do |val, warn: true|
if warn
Discourse.deprecate(
"`SiteSetting.#{old_setting}=` has been deprecated. Please use `SiteSetting.#{new_setting}=` instead.",
drop_from: version,
)
end
self.public_send("#{override ? new_setting : "_" + old_setting}=", val)
end
end
end
end