DEV: Add configurable? helper to Plugin::Instance (#20767)

This can be used to forcibly disable plugins.
This commit is contained in:
Bianca Nenciu
2023-05-10 12:16:37 +02:00
committed by GitHub
parent c6b43ce68b
commit 3073e5cfb0
7 changed files with 100 additions and 16 deletions

View File

@ -344,6 +344,7 @@ module Discourse
def self.activate_plugins!
@plugins = []
@plugins_by_name = {}
Plugin::Instance
.find_all("#{Rails.root}/plugins")
.each do |p|
@ -351,6 +352,7 @@ module Discourse
if Discourse.has_needed_version?(Discourse::VERSION::STRING, v)
p.activate!
@plugins << p
@plugins_by_name[p.name] = p
else
STDERR.puts "Could not activate #{p.metadata.name}, discourse does not meet required version (#{v})"
end
@ -358,20 +360,16 @@ module Discourse
DiscourseEvent.trigger(:after_plugin_activation)
end
def self.disabled_plugin_names
plugins.select { |p| !p.enabled? }.map(&:name)
end
def self.plugins
@plugins ||= []
end
def self.hidden_plugins
@hidden_plugins ||= []
def self.plugins_by_name
@plugins_by_name ||= {}
end
def self.visible_plugins
self.plugins - self.hidden_plugins
plugins.filter(&:visible?)
end
def self.plugin_themes