OOZOU
تواصلوا معنا
العودة إلى TIL
ruby on rails

تجاهل الـ gems المجمّعة في Rubocop وESLint ضمن GitHub Actions

19 يناير 2022

غالبًا ما تثبّت مشاريع Rails الـ gems في مجلد vendor ضمن GitHub Actions، كي نتمكن من تخزينها مؤقتًا للتشغيلات المتتالية.

إذا كنتم تستخدمون أدوات فحص الكود (linters) ضمن الـ action، فعليكم استبعاد vendor/bundle/\* لتجنّب النتائج الإيجابية الخاطئة

في ESLint يمكن ضبط ذلك عبر ignorePatterns

// ./.eslintrc.json
{
  "ignorePatterns": [
    "vendor/bundle/*"
  ]
}

وفي Rubocop يمكنكم الاستبعاد عبر إعداد AllCops

# ./.rubocop.yml
AllCops:
  Exclude:
    - 'vendor/**/*'

أهمية تجاهل الـ gems المجمّعة في أدوات فحص الكود

في تطوير البرمجيات، يُعد الحفاظ على جودة عالية للكود أمرًا أساسيًا. وأدوات فحص الكود وسيلة تساعد على تحقيق ذلك عبر إجراء تحليل ثابت للكود، يمكنه اكتشاف الأخطاء المحتملة وفرض أسلوب كتابة متسق. لكن عند استخدام هذه الأدوات في بيئة تكامل مستمر مثل GitHub Actions، من الضروري ضبطها بشكل صحيح لتجنّب النتائج الإيجابية الخاطئة.

الـ gems المجمّعة، التي تُخزَّن غالبًا في مجلد vendor، هي اعتماديات كود خارجية قد تُبلغ عنها أدوات الفحص إن لم تُستبعد بشكل صحيح. وبتجاهل هذه المجلدات، تضمنون أن تركّز أداة الفحص على الكود المصدري الخاص بكم بدلًا من المكتبات الخارجية، فتحافظون على سلامة تحليل الكود.

ضبط أدوات الفحص لاستبعاد الـ gems المجمّعة

في مشاريع JavaScript التي تستخدم ESLint، يمكنكم ضبط الأداة لتجاهل المجلد vendor/bundle/* عبر الإعداد ignorePatterns في ملف .eslintrc.json. يضمن ذلك فحص الكود الخاص بكم فقط، مما يحسّن جودة الكود دون تشتيت غير ضروري.

// ./.eslintrc.json
{
  "ignorePatterns": [
    "vendor/bundle/*"
  ]
}

وبالمثل، في مشاريع Ruby التي تستخدم Rubocop، يمكنكم استبعاد مجلد vendor بإضافة قاعدة Exclude تحت AllCops في ملف الإعداد .rubocop.yml. يساعد ذلك على تركيز التحليل الثابت على الكود المصدري الفعلي.

# ./.rubocop.yml
AllCops:
  Exclude:
    - 'vendor/**/*'

بضبط أدوات فحص الكود لاستبعاد الـ gems المجمّعة، يمكنكم الحفاظ على مستوى عالٍ من جودة الكود مع تجنّب النتائج الإيجابية الخاطئة في التحليل الثابت.

#RUBY-ON-RAILS

المزيد حول ruby on rails

ruby on rails10 فبراير 2022

استخدام سياسات Pundit لإدارة المعاملات المسموح بها افتراضيًا ولكل إجراء

لإدارة المعاملات المسموح بها، يمكنكم إضافة permitted_attributes وpermitted_attributes_for_#{action} في السياسات، على سبيل المثال:

ruby on rails31 يناير 2022

استخدام `requestSubmit` لإرسال النماذج مع Turbo

يستمع Turbo إلى أحداث submit على النموذج. لذلك استخدموا دائمًا requestSubmit لإرسال النموذج عبر JS.

ruby on rails18 أبريل 2021

Rails 6 وRuby 3 وBootstrap 5 وHotwire

هذا امتداد لمقالة مدونة Bootrails مع إضافة Hotwire إليها: أحدث الأدوات الرائعة (حتى وقت كتابة هذا TIL):

هل لديكم فكرة مشروع؟

يسعدنا أن نتعرّف على ما تبنونه.

ابدأوا المحادثةhello@oozou.com
OOZOU Logo

بانكوك · سنغافورة · هونغ كونغ

X
Facebook
Instagram
LinkedIn
OOZOU Co., Ltd.
548 One City Centre
Ploenchit Road
Bangkok 10330
Thailand
+66 2544 0000
hello@oozou.com

الخدمات

  • تطوير الويب
  • وكلاء الذكاء الاصطناعي والذكاء الاصطناعي التوليدي
  • تطوير تطبيقات الجوال
  • تحليلات البيانات وهندستها
  • تصميم تجربة المستخدم وواجهته (UX/UI) وتصميم المنتجات
  • التحوّل الرقمي

الشركة

  • من نحن
  • الوظائف
  • المدونة
  • دراسات الحالة
  • عروض حية
  • تعلّمت اليوم
  • تواصل معنا

المزيد

  • القطاعات
  • شبكة الشركاء
© 2026 OOZOU. جميع الحقوق محفوظة.
سياسة الخصوصيةمدونة قواعد السلوكسياسة مكافحة الرشوة والفساد