• 0

كيف أضيف تابع جديد إلى صنف String في ريلز؟

أريد إنشاء فهرس لمختلف الكائنات في مشروع ريلز الخاص بي وأريد إضافة تابع 'count_occurences' حتى أتمكن من استدعاء كائنات String، أي أنني سأقوم بشيء مثل هذا:

class String
  def self.count_occurences
    do_something_here
  end
end

فما هي الطريقة الصحيحة لتعريف هذا التابع؟ وأين أضع هذه الشيفرة بالضبط في مشروع ريلز؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

حسب رأيي أن أفضل طريقة لتعريف صنف جديد في تطبيقك هي وضعه في ملف lib/ext/string.rb ومن ثم وضع محتوياته كما في المثال التالي:

class String
  def to_magic
    "magic"
  end
end

بعد ذلك وعندما تريد تحميل هذا الصنف ستحتاج إلى استدعائه في ملف config/application.rb أو في المهيئ (initializer) وبعد ذلك ستكون عملية تحميله بسيطة للغاية كما في الأمثلة التالية:

require 'ext/string'

الآن سيكون تابع to_magic متوفرا في أمثلة (instances) لصنف String داخل تطبيقك/الكونسول كالتالي:

>> "not magic".to_magic
=> "magic"

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن