Isso não impedirá que as pessoas insiram expressões curinga “normais” e, em seguida, ativem watched words regular expressions enabled, que é o que aconteceu aqui.
Eu acho que só precisa de um manipulador de exceção em torno da chamada 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