ما هو "reloadable_patch" بالضبط؟

مرحبًا،

ما زلت أحاول تفكيك الإضافات، كنت أبحث عن تجاوز TopicsController في دراساتي، فتفحصت مستودع كود Discourse ولاحظت وجود reloadable_patch.

ثم بحثت عن reloadable_patch في Discourse، وظهرت 12 نتيجة للكود:

لذلك، قررت البحث بشكل أوسع لفهم هذه “الطريقة / الخطاف (?)” المدهشة، لذا:

  • بحثت في جميع مواقع GitHub:
    – تبدو جميع النتائج مرتبطة بـ Discourse (الإضافات)

  • بحثت في الويب:
    – تبدو جميع النتائج مرتبطة بـ Discourse (الإضافات)

  • بحثت في موقع Meta:
    – حصلت على بعض النتائج، لكن لا شيء يشرح reloadable_patch (الداخلية) بالتفصيل.

بعد ذلك، بحثت مرة أخرى في مستودع Discourse، ولم أستطع العثور على (ربما لأنني غير خبير في هذا) “التعريف” لما يفعله reloadable_patch بالضبط (أو كيف يُعرَّف).

يبدو، بالنسبة لمبتدئ في Ruby مثلي، أنه “طريقة” لعدم وجود مصطلح أفضل، أو “خطاف” يسهل تجاوز فئات Discourse؛ لكنني لم أستطع العثور على كود Ruby الذي يحدد كيفية عمله داخليًا.

هل يهتم أحد بشرح ذلك لي أو توجيهي إلى “الكود المحدد” الذي يشرح ما يفعله reloadable_patch من منظور داخلي لـ Ruby؟

شكرًا لك!

آمل ألا أكون مزعجًا بسؤالي !! :slight_smile:

تم تعريفه هنا. آمل أن يساعدك ذلك في البحث بشكل أعمق.

شكرًا جزيلاً @fzngagan

لست متأكدًا من سبب عدم ظهور طريقة def هذه عندما بحثت في المستودع باستخدام هذه الكلمة المفتاحية؛ لكن هذا بالضبط ما كنت أبحث عنه!

شكرًا لك مرة أخرى!!

تعديل: أدركت ما حدث. لم أغوص في ملف instance.rb بعمق كافٍ وتوقفت عند بداية الملف؛ لكن كان هناك 23 إدخالًا لـ reloadable_patch في الملف، وكانت طريقة def في الأسفل.

أدى البحث عن “def reloadable_patch” بين علامتي اقتباس إلى العثور عليه (الآن) :slight_smile:

أبدأ في الإدمان على Ruby، وأستكشف كل زاوية وركن.

شرحها بشكل جميل @markvanlan