-
-
Notifications
You must be signed in to change notification settings - Fork 7.1k
/
Copy pathsettings.rb
38 lines (32 loc) · 1.04 KB
/
settings.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# frozen_string_literal: true
require_relative 'base'
module Mastodon::CLI
class Registrations < Base
desc 'open', 'Open registrations'
def open
Setting.registrations_mode = 'open'
say('OK', :green)
end
desc 'approved', 'Open approval-based registrations'
option :require_reason, type: :boolean, aliases: [:require_invite_text]
long_desc <<~LONG_DESC
Set registrations to require review from staff.
With --require-reason, require users to enter a reason when registering,
otherwise this field is optional.
LONG_DESC
def approved
Setting.registrations_mode = 'approved'
Setting.require_invite_text = options[:require_reason] unless options[:require_reason].nil?
say('OK', :green)
end
desc 'close', 'Close registrations'
def close
Setting.registrations_mode = 'none'
say('OK', :green)
end
end
class Settings < Base
desc 'registrations SUBCOMMAND ...ARGS', 'Manage state of registrations'
subcommand 'registrations', Registrations
end
end