Ei, bem-vindo ![]()
Assim como o @Stephen, não tenho certeza absoluta de que esta é a ferramenta certa, mas confio que você analisou bem a situação.
Eu evitaria isso a todo custo. Quase sempre existe outra solução, mesmo que seja necessário fazer um monkey patch em uma classe. Sobre monkey patching no Discourse, veja: Override existing Discourse methods in plugins.
Neste caso, parece que já há código no método que você está analisando que faz exatamente o que você deseja: discourse/app/models/invite_redeemer.rb at main · discourse/discourse · GitHub
O problema é que os convites que você gerou não possuem o emailed_status_type correto, então essa condição não está sendo satisfeita. Acredito que a solução aqui seja gerar convites diferentes desde o início. É nisso que eu focaria.