Perché chiamare super in PostSerializer#raw causa un errore 500 mentre chiamare object.raw funziona?

Grazie per la spiegazione!
Hai ragione: riaprire ::PostSerializer era il problema. Dopo essere passato a prepend, tutto funziona come previsto.

Ora sto usando questo modulo:

module PostSerializerExtension
  def raw
    if scope.can_edit?(object)
      super
    else
      object.raw&.truncate(300)
    end
  end
end

reloadable_patch do
  require_dependency "post_serializer"
  ::PostSerializer.prepend(::PostSerializerExtension)
end

Questo funziona perfettamente da parte mia. Grazie ancora per la guida!