discourse/app/services/problem_check/watched_words.rb
Ted Johansson 3137e60653
DEV: Database backed admin notices (#26192)
This PR introduces a basic AdminNotice model to store these notices. Admin notices are categorized by their source/type (currently only notices from problem check.) They also have a priority.
2024-05-23 09:29:08 +08:00

28 lines
615 B
Ruby

# frozen_string_literal: true
class ProblemCheck::WatchedWords < ProblemCheck
self.priority = "low"
def call
return no_problem if invalid_regexp_actions.empty?
problem
end
private
def translation_data
{ action: invalid_regexp_actions.map { |w| "'#{w}'" }.join(", ") }
end
def invalid_regexp_actions
@invalid_regexp_actions ||=
WatchedWord.actions.keys.filter_map do |action|
WordWatcher.compiled_regexps_for_action(action, raise_errors: true)
nil
rescue RegexpError
I18n.t("admin_js.admin.watched_words.actions.#{action}")
end
end
end