neounix
(Dark Matter)
1
안녕하세요,
여전히 플러그인을 분석하고 있는 중인데, 학습을 위해 TopicsController를 오버라이드하려고 Discourse 코드 저장소를 검색하다가 reloadable_patch를 발견했습니다.
그런 다음 Discourse에서 reloadable_patch를 검색했는데, 코드 검색 결과가 12건 나왔습니다:
그래서 이 흥미로운 "메서드 / 훅(?)"을 더 잘 이해해 보기 위해 더 광범위하게 조사해 보았습니다:
-
GitHub 전체 검색:
– 모든 결과가 Discourse(플러그인)와 관련된 것 같습니다.
-
웹 검색
– 모든 결과가 Discourse(플러그인)와 관련된 것 같습니다.
-
메타(meta) 검색
– 몇 가지 검색 결과가 나왔지만, reloadable_patch의 내부 구조를 자세히 설명하는 내용은 없었습니다.
그 후 Discourse 저장소를 다시 검색했지만, reloadable_patch가 정확히 무엇을 하는지(또는 어떻게 정의되는지)에 대한 "정의"를 찾을 수 없었습니다(이 부분에 익숙하지 않아서인 것 같습니다).
제처럼 Ruby 초보자에게는 이것이 더 나은 표현을 찾지 못해 "메서드"라고 부르는 것, 또는 Discourse 클래스를 오버라이드하는 것을 용이하게 하는 "훅"으로 보입니다. 하지만 내부적으로 어떻게 작동하는지 정의하는 Ruby 코드를 찾을 수 없었습니다.
누군가 이 부분을 설명해 주시거나, Ruby 내부 구조 관점에서 reloadable_patch가 무엇을 하는지 설명하는 "정의 코드"를 알려주실 수 있으신가요?
감사합니다!
질문을 해서 귀찮게 드리는 건 아닌지 걱정됩니다!! 
fzngagan
(Faizaan Gagan)
2
여기에 정의되어 있습니다. 추가 조사에 도움이 되길 바랍니다.
neounix
(Dark Matter)
3
@fzngagan 정말 감사합니다!
왜 그 def 메서드를 키워드로 검색했을 때 저장소에서 나타나지 않았는지는 모르겠지만, 바로 제가 찾고 있던 것이었습니다!
다시 한번 감사합니다!!
수정: 무슨 일이 있었는지 알 것 같습니다. 그 instance.rb 파일을 충분히 깊이 들여다보지 않고 파일 상단에서 멈추어 버렸던 것이죠. 그런데 그 파일에는 reloadable_patch 항목이 23개 있었고, def는 파일 맨 아래에 있었습니다.
따옴표로 "def reloadable_patch"라고 검색하니 방금 찾았네요 
모든 구석구석을 살피는 중이라 루비(Ruby)에 점점 중독되는 것 같습니다.
fzngagan
(Faizaan Gagan)
4
@markvanlan 님이 잘 설명해 주셨습니다.