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!