المحتوى عن 'gem'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • الإدارة والقيادة
  • السلوك التنظيمي
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
    • React
  • HTML
    • HTML5
  • CSS
  • SQL
  • لغة C#‎
  • لغة C++‎
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • Sass
    • إطار عمل Bootstrap
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • ‎.NET
    • ASP.NET
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
    • منصة Xamarin
  • سهولة الوصول
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • التسويق بالرسائل النصية القصيرة
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح
  • مبادئ علم التسويق

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 2 نتائج

  1. ريلز أو Ruby on Rails هو أحد أكثر الإطارات المعروفة للمطورين الذين يتطلعون إلى إنشاء مواقع وتطبيقات ويب، التي تجمع بين لغة برمجة روبي مع إطار العمل ريلز framework Rails مما جعل إنشاء التطبيقات الويب أكثر بساطة. لتثبيت ريلز يمكنك استخدام أداة سطر الأوامر rbenv التي ستوفر لك بيئة صلبة لتطوير تطبيقات ريلز تتيح لك التبديل بسهولة بين إصدارات Ruby و إبقاء فريقك بأكمله على نفس الاصدار. توفر لك rbenv دعما لتحديد اصدارات روبي الخاصة بالتطبيق وتغيرها لكل مستخدم، كما تسمح لك باستخدام متغير لإعادة تحديد إصدار روبي. سوف يوضح لك هذا المقال عملية تثبيت ريلز باستخدام rbenv. ## المتطلبات الأساسية من أجل متابعة هذا المقال تحتاج إلى: إعداد خادم اوبنتو 18.04 و تملك مستخدم غير جذري (non-root) يملك صلاحيات sudo و مثبت عليه جدار حماية. يمكنك اعداده بالعودة إلى مقال الإعداد الأولي لخام اوبنتو قم بثبيت Node.js باستخدام official PPA كما هو موضح في كيفية تثبيت Node.js على 18.04 اوبنتو إذ تعتمد بعض ميزات ريلز مثل خط أنابيب الأصول Asset Pipeline ومُشغل جافاسكربت الآني runtime JavaScript على ما يوفره Node.js. الخطوة الأولى: تثبيت rbenv ومتطلباته تعتمد Ruby على عدة حزم يمكنك تثبيتها من خلال apt-get وبمجرد تثبيتها يمكنك تثبيت rbenv واستخدامه لتثبيت روبي. أولاً، قم بتحديث قائمة الحزمة الخاصة بك: $ sudo apt update من قم بتثبيت المتطلبات اللازمة لتشغيل روبي بتنفيذ الأمر التالي . $ sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev بمجرد الانتهاء من تثبيت المتطلبات يمكنك البدء بتثبيت rbenv من GitHub ووضعه داخل المجلد rbenv ./~: $ git clone https://github.com/rbenv/rbenv.git ~ / .rbenv بعد ذلك لابد من تعريف PATH$ الخاص بك على rbenv لاستخدامها في واجهة سطر الأوامر ويكون ذلك بإضافة الملف rbenv/bin./~ إلى PATH$ الخاص بك داخل الملف bashrc./~ ولكن تذكر من أجل ظهور التغيرات لابد من إنهاء ومن ثم إعادة تشغيل واجهة سطر الأوامر؛ انظر للأمر التالي: $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc الآن أضف الأمر "(-eval "$(rbenv init إلى الملف bashrc./~ من أجل أن يتم تجميل rbenv تلقائيا: $ echo 'eval "$(rbenv init -)"' >> ~/.bashrc لتطبيق التغييرات التي أجرتها على الملف bashrc./~ على جلسة الصدفة shell الحالية نفذ الأمر التالي: $ source ~/.bashrc للتحقق من إعدادات rbenv أنه تم تثبيتها بشكل صحيح استخدم الأمر type الذي سيعرض المزيد من المعلومات حول rbenv: $ type rbenv سوف يعرض الأمر ما يلي: rbenv is a function rbenv () { local command; command="${1:-}"; if [ "$#" -gt 0 ]; then shift; fi; case "$command" in rehash | shell) eval "$(rbenv "sh-$command" "$@")" ;; *) command rbenv "$command" "$@" ;; esac } بعد ذلك قم بتنزيل ruby-build وهو عبارة عن إضافة plugin، إذ تضيف الأمر rbenv install الذي يسهل عملية تنزيل الإصدارات الجديدة من روبي: $ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build في هذه المرحلة تم تثبيت كل من rbenv و ruby-build لنبدأ الآن بتثبيت روبي: الخطوة الثانية: تثبيت روبي مع ruby-build بعد تثبيت ruby-build يمكنك الآن تثبيت إصدارات روبي التي تحتاج بأمر بسيط. اولا سنعرض جميع الإصدارت المتاحة من روبي: $ rbenv install -l ستظهر لك قائمة كبيرة من الإصدارات التي يمكن تثبيتها، لنقم بتثبيت الإصدار 2.5.1 المتوفر وقت كتاب هذا المقال: $ rbenv install 2.5.1 من أجل تثبيت إصدار روبي الذي قمنا بتثبيته كإصدار الافتراضي استخدم الرمز global كجزء من الأمر: $ rbenv global 2.5.1 للتحقق من أن التثبيت تم بشكل صحيح تحقق من رقم اصدار روبي: $ ruby -v إذا قمت بتثبيت نفس الاصدار السابق لابد ان تظهر لك المخرجات التالية: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux] لتثبيت إصدار مختلف من روبي قم تنفيذ الأمر rbenv مع رقم إصدار مختلف مثل: rbenv install 2.3.0 ثم rbenv global 2.3.0. الآن لديك إصدار واحد على الأقل من روبي قم بتثبيته و تعينه باصدار افتراضي لروبي فبعد ذلك سوف نبدأ بإعداد ريلز والجواهر gems الخاصة بها. الخطوة الثالثة: العمل مع الجواهر Gems الجواهر Gems هي الطريقة التي يتم بها توزيع مكتبات روبي، استخدام الأمر gem لإدارة هذه gems كما سوف نستخدم هذا الأمر لتثبيت ريلز. أثناء تثبيت gem تعمل عملية التثبيت بإنشاء وثائق محلية مما يضيف وقت أطول أثناء عملية تثبيت كل gem، لذلك سنوقف هذه العملية عن طريق إنشاء ملف يسمى gemrc./~ الذي يحتوي على الاعدادت اللازمة لإيقاف هذه الميزة: $ echo "gem: --no-document" > ~/.gemrc المُحزِّم Bundler هي عبارة عن أداة يستخدمها gem لإدارة ما يعتمد عليه المشاريع، بالأمر التالي سنثبت Bundler الذي يعتمد عليه ريلز. $ gem install bundler ستظهر المخرجات التالية: Fetching: bundler-1.16.2.gem (100%) Successfully installed bundler-1.16.2 1 gem installed يمكنك استخدام الأمر gem env (كلمة env بالأمر هي اختصار من كلمة environment) لمعرفة المزيد حول من البيئات والإعدادات ب gems، بإمكانك معرفة مكان تثبيت gems باستخدام متغير home انظر للمثال : $ gem env home سوف يعرض لك الناتج التالي: /home/sammy/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0 بمجرد الإنتهاء من إعدادات gems يمكنك تثبيت ريلز بالخطة التالية: الخطوة الرابعة: تثبيت ريلز من أجل تثبيت ريلز استخدم الأمر gem install مع الراية ‎-v لتحديد الإصدار، في هذا المقال التعليمي، سنثبت الإصدار 5.2.0: $ gem install rails -v 5.2.0 يقوم الأمر gem بتثبيت الجواهر المحددة وكذلك كل ما تعتمد عليه. تُعد ريلز لتطوير الويب معقدة إذ تعتمد على العديد التبعيات ، لذلك تستغرق عملية التثبيت بعض الوقت،و لكن بالنهاية سترى رسالة تفيد بأن ريلز مثبت، بالإضافة إلى كل ما تعتمد عليه: Successfully installed rails-5.2.0 38 gems installed ملاحظة: إذا كنت ترغب في تثبيت إصدار مختلف من ريلز، يمكنك عرض الإصدارات الصالحة من ريلز من خلال إجراء عملية بحث، مما يؤدي إلى لإظهار قائمة طويلة من الإصدارات، يمكننا بعد ذلك تثبيت إصدار معين، مثل 4.2.7: $ gem search '^rails$' --all $ gem install rails -v 4.2.7 في حال كنت ترغب في تثبيت أحدث إصدار من ريلز نفذ الأمر دون تحديد رقم الاصدار: $ gem install rails يعمل rbenv عن طريق إنشاء مجلد shims، والذي يشير إلى الملفات المستخدمة بإصدار ريلز المفعل حاليًا،من خلال الأمر الفرعي rehash يقوم rbenv بإصلاح shims في هذا المجد لربط كل أمر في روبي عبر كل إصدار مثبت من روبي على الخادم الخاص بك. كلما تم تثبيت إصدار جديد من روبي أو gem نفذ هذا الامر. $ rbenv rehash تحقق من تثبيت ريلز بشكل صحيح عن طريق طباعة اصداره باستخدام هذا الأمر: $ rails -v إذا تم تثبيته بشكل صحيح ، سترى إصدار ريلز الذي تم تثبيته: Rails 5.2.0 في هذه المرحلة سنقوم بالبدء في اختبار تثبيت ريلز والبدء في تطوير تطبيقات الويب، حافظ على تحديث rbenv باستمرار. الخطوة الخامسة: تحديث rbenv نظرًا لأنك قمت بتثبيت rbenv يدويًا باستخدام Git، يمكنك تحديثه إلى الإصدار الأحدث في أي وقت باستخدام أمر git pull في المجلد rbenv./~: $ cd ~/.rbenv $ git pull هكذا سنضمن أننا نستخدم أحدث إصدار من rbenv المتاحة. الخطوة السادسة: إلغاء تثبيت إصدارات روبي أثناء تنزيل إصدارات إضافية من روبي يمكنك تجميع إصدارات أكثر مما تريد في المجلد rbenv/versions./~ استخدم الأمر uninstall الموجود ب ruby-build لإزالة أي من الإصدارات السابقة على سبيل المثال إزالة الاصدار 2.1.3: $ rbenv uninstall 2.1.3 باستخدام الأمر `rbenv uninstall` يمكنك من إزالة الإصدارات القديمة من روبي بحيث لا يكون لديك تثبيت أكثر مما تستخدمه حاليًا. الخطوة السابعة: إلغاء تثبيت rbenv إذا قررت أنك لم تعد ترغب في استخدام rbenv، فيمكنك إزالته من نظامك ،من أجل القيام بذلك افتح أولاً ملف `bashrc./~` في المحرر الخاص بك: $ nano ~/.bashrc ابحث عن السطرين التاليين من الملف ‎~/.bashrc ثم قم بحذفها: export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" احفظ الملف واخرج من المحرر،ثم قم بإزالة rbenv وجميع إصدارات روبي المثبتة بهذا الأمر: rm -rf rbenv root سجل الخروج وقم بالعودة لحفظ التغييرات على الصدفة shell الخاص بك. الخلاصة في هذا المقال التعليمي قمت بتثبيت rbenv وريلز ويمكن الآن الانتقال إلى توثيق ريلز على موسوعة حسوب لمزيد من المعلومات. ترجمة -وبتصرف- للمقال How To Install Ruby on Rails with rbenv on Ubuntu 18.04 لصاحبيه Brian Hogan و Lisa Tagliaferri
  2. مقدمة كلمة IRB هي اختصار (Ruby التفاعلية)، وهي الأداة التي تمكن من استكشاف لغة البرمجة Ruby واختبار كودها البرمجي دون الحاجة لإنشاء ملف، حيث يتم كتابة كود Ruby ضمن موجه الأوامر الخاص بهذه الأداة لتقوم هي بمعالجة هذا الكود وإظهار النتائج. تسمح الأداة IRB باستخدام جميع الدوال الضمنية بالإضافة للمكتبات والحزم البرمجية gems المنصبة، كما تتيح هذه الأداة حفظ الأوامر السابقة وحتى الإكمال التلقائي للكود البرمجي. تشغيل وإنهاء الأداة IRB في البداية يجب أن تكون لغة Ruby منصبة على الحاسب عندها يتم تشغيل الأداة عن طريق موجه أوامر النظام بإدخال الأمر التالي: $ irb فيظهر موجه أوامر الأداة IRB كما يلي: IRB session irb(main):001:0> حيث يدل موجه الأوامر على أنه تم تشغيل الأداة IRB وفق سياق المستوى الأعلى main، أي أن الأوامر التي سيتم إدخالها ستنفّذ ضمن سياق المستوى الأعلى الافتراضي للغة Ruby، كما تظهر أرقام الأسطر. ملاحظة: في حال تم تنصيب Ruby مع RVM فإنه لن يظهر اسم الأداة IRB في موجه الأوامر، ويظهر عوضًا عنه رقم الإصدار: IRB session from RVM 2.4.0 :001 > لكن يمكن إظهار اسم الأداة IRB في موجه الأوامر من جديد بتنفيذ الأمر: irb --prompt inf-ruby يتم كتابة كود Ruby ضمن موجه أوامر الأداة IRB وفق نفس قواعد برمجة لغة Ruby. جرب الأداة IRB بكتابة كود جمع عددين: irb(main):001:0> 2 + 2 ثم اضغط مفتاح الإدخال ENTER من لوحة المفاتيح فتظهر النتيجة التالي: IRB session => 4 حيث يدل الرمز <= على نتيجة تنفيذ كود Ruby. يتم إنهاء الأداة IRB عن طريق كتابة exit في موجه الأوامر ثم ضغط المفتاح ENTER أو بالضغط على CTRL+D من لوحة المفاتيح, فيتم الرجوع إلى موجه أوامر النظام. تنفيذ الكود ضمن جلسة IRB تؤمن الأداة IRB طريقة فعالة لتجربة كود Ruby والتأكد من أنه ملائم لحل المشكلة البرمجية، حيث تظهر نتيجة تنفيذ أي كود مكتوب بلغة Ruby ضمن شاشة موجه أوامر الأداة IRB. فمثلا عند تنفيذ الكود التالي: irb(main):001:0> puts "Hello World" تظهر النتيجة عند الضغط على مفتاح الإدخال ENTER: Hello World => nil وهي عبارة عن نتيجة تنفيذ الدالة puts والتي تقوم بطابعة السلسلة النصية المدخلة مع إضافة سطر جديد على جهاز الإخراج القياسي (شاشة الحاسب). تقوم جميع دوال لغة Ruby بإرجاع قيمة ما حسب وظيفة الدالة ومدخلاتها، حيث يمكن أن تكون القيمة المرجعة nil أي لاشيء كما هو الحال مع الدالة puts. بعد الانتهاء من تنفيذ العبارة البرمجية يظهر موجه أوامر IRB من جديد ويزداد رقم الأسطر بمقدار واحد: irb(main):001:0> puts "Hello World" Hello World => nil irb(main):002:0> يفيد تغير رقم سطر موجه الأوامر بعد كل عملية إدخال عبارة برمجية في تسهيل تعقب وتصحيح الأخطاء البرمجية في البرامج الكبيرة، ففي حال حدوث خطأ ما في أي عبارة برمجية يظهر رقم السطر ضمن رسالة الخطأ للدلالة على مكان حدوث الخطأ. يسمح موجه أوامر IRB بإسناد القيم للمتغيرات بنفس طريقة الإسناد المستخدمة في برامج Ruby الاعتيادية، فمن أجل إسناد القيمة 1868 للمتغير birth_year نكتب العبارة البرمجية: irb(main):002:0> birth_year = 1868 وعند الضغط على مفتاح الإدخال ENTER تظهر القيمة المسندة كنتيجة لتنفيذ عملية الإسناد: IRB session => 1868 والآن سنقوم بإنشاء متغير ثاني death_year ونسند له القيمة 1921 كما يلي: irb(main):003:0> death_year = 1921 يمكن الآن إنشاء متغير جديد age_at_death يحتوي على ناتج طرح المتغيرين السابقين من بعضهما: irb(main):004:0> age_at_death = death_year - birth_year وعند الضغط على مفتاح الإدخال ENTER تظهر القيمة المسندة للمتغير age_at_death: IRB session => 53 بما أن كل قيمة يتم إسنادها لمتغير تظهر بشكل تلقائي على شاشة موجه أوامر IRB بالتالي لا داعي لاستخدام دوال الطباعة puts أو print لتنفيذ ذلك. يسمح موجه أوامر IRB بكتابة العبارات البرمجية الطويلة على عدة أسطر، حيث لا تنفذ العبارات البرمجية ما لم تكن مكتملة من حيث الصيغة البرمجية، فمثلا سنقوم بإدخال عبارة برمجية تتضمن مصفوفة من أسماء سمك القرش ودالة الاختيار select التي تقوم بإرجاع أسماء سمك القرش المتضمنة فقط على الحرف "a": ["Tiger", "Great White", "Angel"].select do |shark| shark.include?("a") end يتم إدخال هذه العبارة البرمجية على شكل أسطر ضمن موجه أوامر IRB، ولا يتم تنفيذ هذه العبارة إلا بعد الانتهاء من إدخال السطر الثالث وضغط مفتاح الإدخال ENTER، هذا ويظهر الرمز "*" أمام السطر بعض ضغط مفتاح الإدخال ENTER في حال عدم اكتمال العبارة البرمجية: IRB session irb(main):005:0> ["Tiger", "Great White", "Angel"].select do |shark| irb(main):006:1* shark.include?("a") irb(main):007:1> end بما أن العبارة البرمجية السابقة تحوي الكلمة الدالة do فإن موجه أوامر IRB لن ينفذ العبارة حتى إدخال الكلمة الدالة end عندها فقط تظهر نتيجة التنفيذ كما يلي: IRB session => ["Great White"] وهكذا تسمح الأداة IRB في اختبار الكود البرمجي المكتوب بلغة Ruby قبل استخدامه في البرنامج أو من أجل اختبار المكتبات البرمجية الخارجية. استخدام المكتبات والحزم البرمجية يمكن استيراد المكتبات الخارجية المكتوبة بلغة Ruby أثناء جلسة IRB باستخدام الكلمة الدالة require كما هو الحال عند كتابة برنامج Ruby الاعتيادي، حيث يمكن أن تتضمن هذه المكتبات على مكتبات Ruby القياسية أو أكود المكتوبة بشكل شخصي أو حتى حزم Ruby البرمجية والمسماة gems والتي يتم إصدارها من خلال الموقع Rubygems.org ويتم تنصيبها باستخدام الأمر gem. تحوي مكتبات Ruby القياسية على النماذج التي تسمح بتأمين طلبات الويب والحصول على نتائج الاستجابة لهذه الطلبات، ويمكن استخدمها ضمن جلسة IRB بنفس طريقة استخدامها في برامج Ruby الاعتيادية. فمن أجل استيراد Net/HTTP من مكتبة Ruby القياسية يتم كتابة العبارة البرمجية التالية ضمن موجه أوامر IRB: require 'net/http' ثم ضغط المفتاح ENTER فتكون نتيجة التنفيذ true عند نجاح عملية تحميل هذه المكتبة. والآن سنقوم بكتابة الكود الذي يقوم بإرسال طلب إلى الموقع icanhazip.com من أجل الحصول على عنوان IP الخارجي: uri = URI.parse("http://icanhazip.com") response = Net::HTTP.get_response uri response.body عند الانتهاء من إدخال كل سطر ضمن موجه أوامر IRB تظهر نتيجة التنفيذ في السطر الذي يليه وهذا ما يمكننا من التحقق من نجاح عملية تنفيذ الكود البرمجي الموجود في هذا السطر: IRB session irb(main):010:0> uri = URI.parse("http://icanhazip.com") => #<URI::HTTP http://icanhazip.com> irb(main):011:0> response = Net::HTTP.get_response uri => #<Net::HTTPOK 200 OK readbody=true> irb(main):012:0> response.body => 203.0.113.52\n في حال عدم وجود المكتبة المطلوبة سوف تظهر نتيجة مختلفة عمّ سبق للدلالة على فشل عملية استيراد هذه المكتبة, ففي حال أردنا استيراد المكتبة HTTParty المستخدمة لتسهيل طلبات HTTP : require 'httparty' سوف تظهر النتيجة التالية: IRB session LoadError: cannot load such file – httparty والتي تخبرنا أنا هذه المكتبة غير متوفرة, لأنه تم إصدار هذه المكتبة على شكل حزمة برمجية، لذا علينا تنصيبها. تتم عملية تنصيب هذه الحزمة البرمجية بإنهاء موجه أوامر IRB بالضغط على المفاتيح CTRL+D من أجل الانتقال إلى موجه أوامر النظام ثم يتم تنفيذ الأمر gem لتنصيب الحزمة httparty كما يلي: $ gem install httparty ثم يتم تنفيذ الأمر irb للرجوع إلى موجه أوامر IRB كما يلي: $ irb ثم نعيد محاولة تنصيب المكتبة httparty من جديد كما يلي: require 'httparty’ فتكون نتيجة تنفيذ هذا الكود true دلالة على نجاح عملية تحميل هذه المكتبة، والآن نقوم باختبار عمل هذه المكتبة بإدخال الكود التالي في موجه أوامر IRB: response = HTTParty.get("http://icanhazip.com") response.body فتكون نتيجة تنفيذ هذا الكود: IRB session => 203.0.113.52\n والآن سنقوم باستكشاف طريقة اختبار كود Ruby ضمن الأداة IRB. تحميل كود Ruby في IRB يمكن تحديد المكتبات والحزم المراد تحملها عند تشغيل الأداة IRB عن طريق إضافة الخيار -r متبوعاً باسم المكتبة المراد تحميلها, فمثلا لتحميل المكتبة httparty عند تشغيل IRB نكتب الأمر irb -r httparty في موجه أوامر النظام وبالتالي لن نحتاج تنفيذ الكود require httparty. كما يمكن استخدام هذه الطريقة لتحميل كود Ruby الذي تم كتبته سابقا وتخذينه في ملف من أجل اختباره بالأداة IRB. لنقم بإنشاء ملف Ruby جديد اسمه ip_grabber.rb يحتوي على كود الغرض IPGrabber المتضمن عل الدالة get التي تقوم بإرجاع عنوان IP الخارجي للحاسب عند تزويدها بالعنوان الإلكترون URL للموقع icanhazip.com، حيث تم الاعتماد على المكتبة HTTParty من أجل طلب عنوان IP الخارجي للحاسب من الموقع icanhazip.com: require 'httparty' class IPGrabber def initialize() @url = "http://icanhazip.com" end def get response = HTTParty.get(@url) response.body.chomp # remove the \n if it exists end end يفيد إنشاء الغرض IPGrabber في عدم الحاجة لتغيير كود برنامج Ruby الخاص بنا عند الحاجة لإضافة ميزة الحصول على عنوان IP. والآن سنقوم بتحميل هذا الملف عند تشغيل الأداة IRB عن طريق إضافة مسار الملف بعد الخيار r- حيث تم استخدام المسار لأنه ملف محلي وليس مكتبة أو حزمة كما لا داعي لوضع امتداد الملف rb.: $ irb -r ./ip_grabber والآن أصبح بالإمكان إنشاء غرض جديد من الصف IPGrabber ضمن جلسة IRB كما يلي: ip = IPGrabber.new ip.get فتكون نتيجة تنفيذ هذا الكود كما يلي: IRB session => 203.0.113.52 وهكذا نجد أن تحميل كودنا الخاص ضمن جلسة IRB يسمح لنا بالتعامل مع مكتباتنا الخاصة قبل إضافتها لبرنامجنا النهائي. والآن بعد أن تعلمنا كيفية كتابة الكود في الأداة IRB سنقوم بتعلم طريقة ضبط الأداة IRB. ضبط IRB يمكن ضبط جلسة IRB عن طريق إنشاء ملف ضبط بامتداد irbrc. والذي يمكن عن طريقه إضافة وتعديل ميزة الإكمال التلقائي والتدرج وحفظ الأوامر. يتم إنشاء ملف ضبط IRB ضمن مجلد المستخدم كما يلي: $ nano ~/.irbrc require 'irb/completion' والآن سنقوم بإضافة ميزة حفظ الأوامر المنفذة في موجه أوامر IRB في ملف خارجي وذلك بإضافة السطر التالي إلى ملف الضبط: IRB.conf[:SAVE_HISTORY] = 1000 تم في هذا الكود تمكين عملية حفظ آخر ألف عبارة برمجية تم إدخالها في موجه أوامر IRB ضمن الملف irb_history حيث يمكن تصفحها من خلال مفاتيح الأسهم العلوي والسفلي على لوحة المفاتيح, وعند الرغبة في تغيير اسم ملف الحفظ يتم إضافة السطر التالي لملف الضبط: IRB.conf[:HISTORY_FILE] = '~/your_history_filename' والآن سنضيف ميزة التدرج الآلي للكود البرمجي والتي تفيد عند برمجة الصفوف والدوال والكتل البرمجية وذلك بإضافة السطر التالي إلى ملف الضبط: IRB.conf[:AUTO_INDENT] = true كما يمكن أن يتضمن ملف الضبط أي كود Ruby مثل تعريف الدوال المساعدة أو استخدام require لتحميل مكتبات إضافية، فمثلا لإضافة الدالة المساعد history إلى موجه أوامر IRB والتي تقوم بإظهار العبارات البرمجية, يتم إضافة الكود التالي إلى ملف الضبط: def history history_array = Readline::HISTORY.to_a print history_array.join("\n") end والآن أصبح بالإمكان إظهار العبارات البرمجية المحفوظة بتنفيذ الأمر history في موجه أوامر IRB فتظهر جميع العبارات البرمجية المحفوظة، لكن عند الرغبة في تحديد عدد النتائج المراد إظهارها يجب تعديل الكود السابق بإضافة الخيار count الذي يتم من خلاله تحديد عدد النتائج، لذا يجب تعديل الكود السابق ليصبح كما يلي: # history command def history(count = 0) # Get history into an array history_array = Readline::HISTORY.to_a # if count is > 0 we'll use it. # otherwise set it to 0 count = count > 0 ? count : 0 if count > 0 from = hist.length - count history_array = history_array[from..-1] end print history_array.join("\n") end نحفظ ملف الضبط ثم نبدأ جلسة IRB جديد ثم ندخل الأمر history 2 فتظهر أخر عبارتين برمجيتين تم إدخالهما في موجه أوامر IRB. إن استخدام ملف الضبط لتحميل المكتبات البرمجية سيزيد من زمن بدء تشغيل الأداة IRB وبالتالي يفضل تحميل المكتبات عن طريق استخدام الأمر require. ملخص تعد الأداة مكان جيد لاختبار كود Ruby وبالتالي تؤمن طريقة عظيمة لاختبار البرنامج المكتوبة بلغة Ruby قبل حفظها ضمن الملف. ترجمة المقال How To Use IRB to Explore Rub لصاحبه Brian Hogan