discourse/app/services/problem_check/watched_words.rb

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