Penso che questo problema possa essere risolto aggiungendo
return if user.silenced? || user.suspended?
a
e
A proposito, sono curioso di sapere perché il controllo dei permessi per can_post_anonymously non è implementato all’interno del modulo Guardian.