По-прежнему пытаюсь разобраться с плагинами. Я изучал возможность переопределения TopicsController в своих исследованиях, просмотрел репозиторий кода Discourse и заметил reloadable_patch.
Затем я поискал reloadable_patch в Discourse и получил 12 совпадений в коде:
Поэтому я решил поискать шире, чтобы понять эту увлекательную «метод / хук (?)». Для этого я:
Просмотрел весь GitHub:
— Все результаты, похоже, относятся к Discourse (плагинам).
Поиск в интернете:
— Все результаты, похоже, относятся к Discourse (плагинам).
Поиск на Meta:
— Нашел несколько упоминаний, но ничего, что подробно объясняло бы reloadable_patch (внутреннее устройство).
Далее я снова поискал в репозитории Discourse, но не смог найти (скорее всего, потому что я еще неопытен в этом) «определение» того, что именно делает reloadable_patch (или как он определен).
Мне, как новичку в Ruby, это кажется «методом», если не найти лучшего слова, или «хуком», который упрощает переопределение классов Discourse; однако я не смог найти код на Ruby, который описывает его внутреннюю работу.
Не могли бы вы объяснить мне это или указать на «исходный код определения», который объяснил бы, что делает reloadable_patch с точки зрения внутреннего устройства Ruby?
Не совсем понятно, почему метод def не появился при поиске в репозитории по этому ключевому слову; но это именно то, что я искал!
Ещё раз спасибо!!
Редактирование: Я понял, что произошло. Я недостаточно глубоко изучил файл instance.rb и остановился на его начале; однако в файле было 23 вхождения reloadable_patch, а определение def находилось внизу.
Поиск по фразе “def reloadable_patch” в кавычках нашёл его (только что)
Я начинаю увлекаться Ruby, изучая каждый уголок и закоулок.