تحسينات على Gemfile والإضافات

مرحبًا، فريق Discourse
أود أن أقدم لكم حلاً مثيرًا للاهتمام يتعلق بملف Gemfile في دليل الإضافات وإضافة الجواهر الخارجية إذا لزم الأمر.

# تحميل ملفات Gemfile الخاصة بالإضافات
Dir.glob File.expand_path("../plugins/*/{Gemfile}", __FILE__) do |file|
  eval_gemfile file
end

إذا أضفنا هذا إلى ملف Gemfile الرئيسي، يمكننا تحميل ملفات Gemfile من الإضافات.
لنتناقش في هذا الحل.
ملاحظة: وثائق DSL لـ eval_gemfile = https://apidock.com/ruby/v2_6_3/Bundler/Dsl/eval_gemfile

إعجابَين (2)

هذا مثير للاهتمام! في الوقت الحالي، يمكن للإضافات أن تتطلب المكتبات (gems) عن طريق سرد شجرة التبعيات العودية بالكامل في ملف plugin.rb، على سبيل المثال:

إعجابَين (2)

شكرًا لك، هذا ما كنت أبحث عنه.
لكنني أعتقد أن قراري أكثر وضوحًا ومفهومة بالنسبة لي.
الأسباب (في رأيي):

  1. نترك ملف plugin.rb أنظف.
  2. ملف Gemfile أكثر وضوحًا لمطوري Rails.
إعجاب واحد (1)

للأسف، هذا يعني أن ملف القفل سيصبح هدفًا متحركًا، ونحن نضمنه في نظام التحكم بالمصدر. ملفات Gem جيدة، ولكن حتى نتمكن من إرسال ملفات قفل تفاضلية، لن تعمل هذه النوعية من الحلول.