diff --git a/app/models/site_setting.rb b/app/models/site_setting.rb index 822f782a7..cb4972f99 100644 --- a/app/models/site_setting.rb +++ b/app/models/site_setting.rb @@ -9,9 +9,9 @@ class SiteSetting < ActiveRecord::Base SiteSettings::YamlLoader.new("#{Rails.root}/config/site_settings.yml").load do |category, name, default, opts| if opts.delete(:client) - client_setting(name, default, category) + client_setting(name, default, opts.merge(category: category)) else - setting(name, default, category, opts) + setting(name, default, opts.merge(category: category)) end end diff --git a/lib/site_setting_extension.rb b/lib/site_setting_extension.rb index 923638170..341727504 100644 --- a/lib/site_setting_extension.rb +++ b/lib/site_setting_extension.rb @@ -42,11 +42,11 @@ module SiteSettingExtension @hidden_settings ||= [] end - def setting(name_arg, default = nil, category = nil, opts = {}) + def setting(name_arg, default = nil, opts = {}) name = name_arg.to_sym mutex.synchronize do self.defaults[name] = default - categories[name] = category.try(:to_sym) || :uncategorized + categories[name] = opts[:category] || :uncategorized current_value = current.has_key?(name) ? current[name] : default if opts[:enum] enum = opts[:enum] @@ -60,8 +60,8 @@ module SiteSettingExtension end # just like a setting, except that it is available in javascript via DiscourseSession - def client_setting(name, default = nil, category = nil) - setting(name, default, category) + def client_setting(name, default = nil, opts = {}) + setting(name, default, opts) @@client_settings ||= [] @@client_settings << name end diff --git a/spec/components/site_setting_extension_spec.rb b/spec/components/site_setting_extension_spec.rb index 43cad61cf..68c260bcb 100644 --- a/spec/components/site_setting_extension_spec.rb +++ b/spec/components/site_setting_extension_spec.rb @@ -164,7 +164,7 @@ describe SiteSettingExtension do describe 'a setting with a category' do before do - settings.setting(:test_setting, 88, :tests) + settings.setting(:test_setting, 88, {category: :tests}) settings.refresh! end