Cela n’empêchera pas les gens d’entrer des expressions génériques « normales », puis d’activer watched words regular expressions enabled, ce qui est arrivé ici.
Je pense qu’il suffit d’un gestionnaire d’exceptions autour de l’appel regexp
def word_matches?(word, case_sensitive: false)
options = case_sensitive ? nil : Regexp::IGNORECASE
Regexp.new(WordWatcher.word_to_regexp(word), options).match?(@raw)
end