Change user settings to be stored in a more optimal way (#23630)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
parent
e7c3e55874
commit
a9b5598c97
36 changed files with 817 additions and 525 deletions
21
app/models/user_settings/namespace.rb
Normal file
21
app/models/user_settings/namespace.rb
Normal file
|
@ -0,0 +1,21 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class UserSettings::Namespace
|
||||
attr_reader :name, :definitions
|
||||
|
||||
def initialize(name)
|
||||
@name = name.to_sym
|
||||
@definitions = {}
|
||||
end
|
||||
|
||||
def configure(&block)
|
||||
instance_eval(&block)
|
||||
self
|
||||
end
|
||||
|
||||
def setting(key, options = {})
|
||||
UserSettings::Setting.new(key, options.merge(namespace: name)).tap do |s|
|
||||
@definitions[s.key] = s
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue