Почему вызов super в PostSerializer#raw вызывает ошибку 500, а вызов object.raw работает?

Спасибо за объяснение!
Вы правы — повторное открытие ::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

У меня это работает идеально. Ещё раз спасибо за помощь!