API: получение относительных URL постов

Всем привет

Я использую API Discourse для получения темы и всех её постов, а затем каждого поста и его содержимого.

Мои форумы размещены на forums.xxx.com.
Я использую API для получения постов и размещаю их на своём домене www.xxx.com, устанавливая ссылки между двумя доменами.

Всё работает, за исключением того, что извлекаемое содержимое использует относительные URL-адреса. Например, ссылка на пользователя (когда находится на домене форумов) выглядит как forums.xxx.com/u/the-user.

Когда я извлекаю этот пост на свой домен www.xxx.com, ссылка становится www.xxx.com/u/the-user, чего, очевидно, не существует.
Та же проблема касается любых эмодзи или изображений, включённых в пост — ссылки на них не работают.

Есть ли способ заставить ссылки, которые приходят через data['cooked'], указывать на исходный домен?

Я на самом деле задал тот же вопрос ChatGPT и сразу получил рабочий ответ.

Используя вспомогательный метод для замены URL внутри обработанных данных:

def update_urls(content)
    forum_domain = 'https://forums.xxx.com'

    # Обновляем атрибуты href
    content.gsub!(/href="(\/[^"]*)"/i) { |match| "href=\"#{forum_domain}#{$1}\"" }

    # Обновляем атрибуты src
    content.gsub!(/src="(\/[^"]*)"/i) { |match| "src=\"#{forum_domain}#{$1}\"" }

    content
  end

Оставляю это здесь для других — если у кого-то есть более элегантное решение «из коробки», буду рад узнать о нём.