Loading…

حول منسق روبي أونلاين

الصق كود روبي، اضغط "تنسيق" واحصل فورياً على مخرجات نظيفة وأصيلة. يعمل بتنسيق نمط روفو، هذه الأداة تمنحك تباعداً ومسافات بادئة متناسقة لكل شيء من النصوص البرمجية الصغيرة إلى وحدات تحكم رايلز الكاملة – مباشرة في متصفحك.

لماذا تستخدم منسق روبي هذا

  • تنسيق بنمط روفو لكتابة كود روبي متناسق
  • يوحد المسافات البادئة، الأسطر الفارغة والتباعد حول المعاملات
  • مخرجات ثابتة – إعادة تنسيق نفس الملف تنتج نفس النتيجة
  • يحترم دلالات روبي – تغييرات في التخطيط فقط، لا تغييرات في السلوك
  • يدعم ملفات .rb و .rake و .gemspec مباشرة
  • لا حاجة لإعدادات: تنسيق بنقرة واحدة، لا حاجة لإعدادات معقدة
  • يعمل بالكامل في واجهة متصفحك – فقط الصق أو أسقط ملف
  • رفيق رائع لـ rubocop/standard كمنسق تخطيط فقط

🛠️ كيفية استخدام منسق Ruby for ruby-formatter

1

1. الصق أو ارفع كود Ruby الخاص بك

📥 الصق كود Ruby مباشرة في المحرر، أو اسحب وأفلت ملف `.rb` أو `.rake` أو `.gemspec`. الأداة تقرأ المحتوى وتجهزه للتنسيق.

2

2. انقر على زر التنسيق

✨ اضغط على **تنسيق** لإرسال كودك إلى المنسق على نمط Rufo. يتم توحيد المسافات البادئة، وفواصل الأسطر، والتباعد في خطوة واحدة مع الحفاظ على المنطق الأصلي.

3

3. راجع النتيجة

🔍 قارن المخرجات المنسقة مع كود Ruby الأصلي الخاص بك. سترى مسافات بادئة متسقة، وكتل أكثر نظافة، وطرق وشروط أكثر قابلية للقراءة.

4

4. انسخ أو حمّل

📤 بمجرد الرضا، انسخ الكود المنسق مرة أخرى إلى محررك أو حمّله كملف. إنه جاهز للعمليات، أو طلبات السحب، أو النشر للإنتاج.

المواصفات الفنية

محرك التنسيق والنمط

يتبع المنسق قواعد تنسيق Ruby الحاسمة على نمط Rufo للحفاظ على قاعدة التعليمات البرمجية متسقة وسهلة المسح في المراجعات.

الجانبالسلوكملاحظات
المسافات البادئةمسافتان لكل مستوىيتم تحويل علامات الجدولة إلى مسافات لتتناسب مع نمط Ruby الاصطلاحي.
الكتل و do/endمحاذاة ومتباعدة بشكل متسقيساعد في الحفاظ على الكتل المتداخلة (each، map، if، case) قابلة للقراءة.
المسافات البيضاءينظف المسافات الزائدةيوحد المسافات حول العوامل، والفوارز، والرموز.
الأسطر الفارغةموحدة بين الطرق والفئاتيحسن فصل الاهتمامات والتجميع البصري.
عدم التغيرنفس المدخلات → نفس المخرجاتإعادة تشغيل المُنسِّق بشكل متكرر آمن دائمًا.

المدخلات المدعومة والحدود

مصمم لمشاريع Ruby الواقعية: gems، تطبيقات Rails، النصوص البرمجية وأدوات داخلية.

المعاملالحد / السلوكملاحظات
امتدادات الملفات.rb, .rake, .gemspecملفات Ruby المصدرية النموذجية، مهام Rake ومواصفات gems.
أنواع MIMEtext/x-rubyيساعد المحرر في اختيار وضع لغة Ruby وتمييز الصياغة.
الحد الأقصى لحجم الإدخال≈ 2 ميجابايت من مصدر Rubyالمصادر الكبيرة جدًا أو حزم البائعين يُفضل التعامل معها محليًا عبر CLI.
الترميزيُوصى بـ UTF-8للترميزات القديمة، قم بالتحويل إلى UTF-8 قبل التنسيق.

الأمان والتنفيذ

يعمل التنسيق على خلفية مؤمنة باستخدام مُنسِّق مدرك لـ Ruby.

الجانبالسلوكملاحظات
التنفيذاستدعاء API آمن للمُنسِّقيتم إرسال الكود المصدري والخيارات الأساسية فقط إلى نقطة نهاية التنسيق.
المهلة≈ 25 ثانيةيتم إيقاف المدخلات الطويلة جدًا أو غير الطبيعية للحفاظ على استجابة واجهة المستخدم.
الدلالاتتغييرات التخطيط فقطتم تصميم المُنسِّق لعدم تغيير سلوك كود Ruby الصالح.

بدائل سطر الأوامر لتنسيق Ruby

هل تريد نفس النمط في محررك، CI أو خطافات pre-commit؟ استخدم Rufo أو منسقات Ruby الأخرى محليًا.

Linux / 🍎 macOS / 🪟 Windows

تثبيت Rufo عالميًا

gem install rufo

يضيف التنفيذي `rufo` إلى بيئة Ruby الخاصة بك.

تنسيق ملف Ruby واحد

rufo app/models/user.rb

يعيد كتابة الملف في مكانه باستخدام قواعد Rufo.

تنسيق مشروع كامل

rufo .

يقوم بتنسيق جميع ملفات Ruby بشكل متكرر في شجرة المجلد الحالي.

مع pre-commit أو CI

إضافة Rufo عبر pre-commit

repos:
- repo: https://github.com/ruby-formatter/rufo
  rev: v0.17.0
  hooks:
    - id: rufo

تشغيل Rufo تلقائياً قبل كل commit (مقتطف YAML لـ `.pre-commit-config.yaml`).

استخدم هذه الأداة عبر الإنترنت للإصلاحات السريعة، وادمج Rufo في أدواتك المحلية لتحقيق اتساق المشروع الكامل.

حالات استخدام عملية لمُنسق Ruby

تطبيقات Ruby on Rails

تنظيف المتحكمات والنماذج والمهام قبل مراجعة الكود.

  • توحيد النمط عبر فريق يعمل على نفس تطبيق Rails.
  • تنسيق الملفات تلقائياً قبل فتح طلبات السحب.
  • ترتيب مخرجات السقالات والمولدات لسهولة القراءة طويلة المدى.
class UsersController < ApplicationController
  def create
      user = User.new(user_params)
   if user.save
redirect_to user_path(user)
else
 render :new
 end
  end
end
class UsersController < ApplicationController
  def create
    user = User.new(user_params)

    if user.save
      redirect_to user_path(user)
    else
      render :new
    end
  end
end

الجواهر وأدوات سطر الأوامر والأدوات الداخلية

الحفاظ على مصدر الجواهر ومهام Rake ونصوص الأتمتة الداخلية مرتبة.

  • تطبيق نمط متسق قبل نشر الجوهرة.
  • تنظيف ملفات Rake الصاخبة ونصوص النشر.
  • جعل أدوات سطر الأوامر الداخلية أسهل في الصيانة والتوسيع.

تعليم وتعلم Ruby

إظهار كيف يبدو Ruby الاصطلاحي دون الخوض في مناقشات حول النمط.

  • تنسيق تسليمات الطلاب تلقائياً قبل التقييم للتركيز على المنطق.
  • إظهار الفرق بين Ruby الذي "يعمل" وRuby "النظيف".
  • استخدام المُنسق في ورش العمل لتوحيد الأمثلة بسرعة.
numbers=[1,2,3]
nums.each do |n| puts n*n end
numbers = [1, 2, 3]
numbers.each do |n|
  puts n * n
end

❓ Frequently Asked Questions

هل سيغير مُنسق Ruby كيفية عمل الكود الخاص بي؟

صُمم المُنسق لتغيير التخطيط فقط: المسافات البادئة والخطوط الفارغة والمسافات البيضاء. طالما أن كود Ruby الخاص بك صالح، يجب أن يبقى السلوك كما هو. يجب أن تعتمد على مجموعة الاختبارات الخاصة بك لتأكيد أن كل شيء يعمل كما هو متوقع.

🧹كيف يختلف هذا عن RuboCop أو Standard؟

RuboCop و Standard هما في الأساس أدوات فحص يمكنها أيضاً تصحيح بعض المشاكل تلقائياً، بينما تركز هذه الأداة على التنسيق فقط. المُنسق يعيد كتابة التخطيط؛ بينما أداة الفحص تفرض مجموعة أوسع من القواعد مثل المتغيرات غير المستخدمة وأساليب التسمية والتعقيد.

🔒هل من الآمن لصق كود الإنتاج في هذه الأداة؟

تجنب لصق الكود الحساس للغاية أو الملكي في أي خدمة عبر الإنترنت. للمشاريع شديدة الحساسية، يجب تشغيل Rufo أو غيره من المنسقات محلياً أو في بيئة CI مستضافة ذاتياً. لمشاريع المصدر المفتوح النموذجية أو كود العرض التوضيحي أو التعليمي، فإن هذا المُنسق عبر الإنترنت مريح جداً.

📂أي إصدارات من Ruby مدعومة؟

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

ما مدى سرعة التنسيق؟

يتم تنسيق معظم الملفات على الفور تقريبًا. فقط الملفات الكبيرة جدًا أو المولدة بكثافة قد تقترب من المهلة الزمنية المضمنة. في تلك الحالات النادرة، قم بتنسيق الملف محليًا باستخدام CLI.

Pro Tips

Best Practice

استخدم هذا المُنسِّق قبل فتح طلب سحب حتى يتمكن المراجعون من التركيز على المنطق بدلاً من المسافات البيضاء.

Best Practice

اجمع التنسيق مع أداة فحص مثل RuboCop أو Standard لتغطية كل من التخطيط ومشكلات الجودة الأعمق.

Best Practice

دائمًا قم بتشغيل مجموعة الاختبارات الخاصة بك بعد عمليات التنسيق التلقائي الكبيرة لضمان استمرار كل شيء في العمل بشكل صحيح.

Best Practice

بالنسبة للجواهر، قم بتطبيق التنسيق قبل تحديث الإصدارات لتجنب الاختلافات المزعجة بين الإصدارات.

Additional Resources

Other Tools