Acho que este problema poderia ser corrigido adicionando
return if user.silenced? || user.suspended?
a
e
A propósito, estou curioso para saber por que a verificação de permissão para can_post_anonymously não é implementada dentro do módulo Guardian.