Спасибо за объяснение!
Вы правы — повторное открытие ::PostSerializer было проблемой. После переключения на prepend всё работает как ожидалось.
Теперь я использую этот модуль:
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
У меня это работает идеально. Ещё раз спасибо за помощь!