~cytrogen/masto-fe

ref: 2126812f65aafe5d89e64e9fc324186bb9c8dc14 masto-fe/app/models/user_settings/namespace.rb -rw-r--r-- 404 bytes
2126812f — Claire Merge commit 'd9c21293aa6e105cedeff6b5e469af40a20909d9' into glitch-soc/merge-upstream 2 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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