Obrigado pela explicação!
Você está certo — reabrir ::PostSerializer era o problema. Depois de mudar para prepend, tudo funciona como esperado.
Estou usando este módulo agora:
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
Isso funciona perfeitamente do meu lado. Obrigado novamente pela orientação!