Override existing Discourse methods in plugins

Discourse와 Rails 개발은 처음입니다. 로컬에서 Dev Container 환경(VS Code)을 사용하고 있습니다.

가이드와 문서들이 많은 도움이 되었습니다.

코어 Discourse 클래스를 오버라이드하는 방법에 대해, 특히 로컬 개발 환경에서 이를 유지(persist)시키는 방법에 대한 팁이 있는지 궁금합니다.

플러그인에서 코어 Discourse의 TopicEmbed 클래스의 메서드를 오버라이드하려고 합니다. (위에서 @angus 님이 잘 문서화한 일반적인 접근 방식을 사용 중입니다.) VS Code를 재빌드하고 재시작하면 한 번은 작동하지만, 이후의 HTTP 요청에서는 제 오버라이드가 절대 호출되지 않습니다.

제 오버라이드는 \/plugins/my-plugin/app/models/override.rb`파일에 정의되어 있으며,`require_relative`를 사용하여 이 파일을 `plugin.rb``에 포함시키고 있습니다.

#override.rb:
class ::TopicEmbed

  # TopicEmbed.singleton_class에 prepend될 모듈
  module TopicEmbedOverrideModule
    # TopicEmbed의 메서드
    def first_paragraph_from(html)
      Rails.logger.info("my override is happening! ")

      # TopicEmbed에서 제공되는 원래 구현을 계속합니다.
      super

    end
  end

  # 여기서 prepend 수행
  singleton_class.prepend TopicEmbedOverrideModule
end

이 지속성(persistence) 문제는 제 개발 환경과 Ruby 코드의 컴파일/캐싱 방식 때문일 것이라고 추측합니다.
rm -rf tmp; bin/ember-cli -ubundle exec rake tmp:cache:clear도 시도해 보았습니다.