해당 특정 사용 사례는 사이트 직렬화기 메서드를 오버라이드할 필요가 없도록 재설계할 수 있거나, 다른 방식으로 오버라이드를 달성할 수 있다는 점은 인정합니다. 하지만 add_to_serializer 메서드를 이러한 방식으로 사용하는 것에 본질적인 단점이 있는지, 그리고 이 비권장 처리가 해당 메서드의 이러한 사용 방식이 제거되는 결과로 이어질지 궁금합니다.
최근 '플러그인 수정자(plugin modifiers)'라는 새로운 시스템을 도입했습니다. 이는 매우 비용이 낮은 확장 지점(extension points)으로, DiscourseEvent와 유사하지만 입력 값을 받아 값을 반환합니다. 따라서 귀하의 경우, 관련 include_ 메서드에 DiscoursePluginRegistry.apply_modifier 호출을 추가하는 코어 PR을 생성한 후, 플러그인에서 register_modifier를 사용하여 값을 오버라이드할 수 있습니다.
결국 이를 완전히 차단할 가능성이 높습니다, 네. 또한 로그에 비추천(deprecation) 알림을 출력하는 메서드를 사용하는 것은 정말로 피해야 합니다.
코어의 협조 없이 메서드를 오버라이드해야 한다면, modify_class가 더 나은 선택이 될 것입니다. add_to_serializer에 대한 전용 메서드가 있는 주된 이유는 플러그인이 활성화된 경우에만 적용되도록 include_* 메서드를 자동으로 정의하기 때문입니다.
즉, 귀하가 링크한 코드 스니펫은 현재 두 개의 메서드를 정의하고 있습니다. include_wizard_required?와 include_include_wizard_required?