Ruby Gems
اذا كنت قد اتعاملت مع منصة لينكس فقد استخدمت أداة مشابهه لـ apt-get لتحميل البرامج/المكتبات.
بنفس النظام ال gem هو تطبيق أو مكتبة عمل كحزمة و لكن ليس مثل.deb او .rpm لكن .gem على Ruby Platform جميل جدا
المميزات
1- امكانية تثبيت/حذف ال Gem Packages
2- إلغاء مشكلة الاعتماديات
3- سهولة التحكم في الحزم
4- الاستعلام/البحث وعرض الحزم المتوفرة
5- سهولة إنشاء الحزم
6- سهولة الإطلاع على الوثائق الخاصة بال gemS
التثبيت
1- قم بالتحميل من الوصلة التالية
http://rubyforge.org/frs/?group_id=126 2- شغل ملف setup.rb كالتالى
اكتب
gem -v
او
gem –version
#output:
0.9.4
بهذا ثبت البرنامج.
اعرض ال environment
كالتالى
C:\Documents and Settings\ahmed>gem environment
RubyGems Environment:
- VERSION: 0.9.4 (0.9.4)
- INSTALLATION DIRECTORY: c:/ruby/lib/ruby/gems/1.8
- GEM PATH:
- c:/ruby/lib/ruby/gems/1.8
- REMOTE SOURCES:
- http://gems.rubyforge.org
اهم الخيارات
1- install
للقيام بتثبيت gem معين سواء local او remote
gem install rake
gem install rails
2- list
لعرض الgems
عرض الgems اللى بتبدأ بحرف ال F
3- uninstall
لحذف gem معينة
4- search
للبحث عن gem ما
استخدام –local فى حال البحث local
استخدم –remote للبحث remote
استخدم –both للبحث local و remote
5- help
للحصول على المساعدة
للحصول على المساعدة بخصوص command معين
لعرض كل الcommands
لعرض امثلة على الإستخدام استخدام
للتعامل مع الوثائق الخاصة بال gems شغل ال gem_server كالتالى
URLShorter
توجد مواقع كثيرة تقدم خدمة تصغير الurl مثل tinyurl على سبيل المثال!
1- قم بتثبيت shorturl gem كالتالى
C:\Documents and Settings\ahmed>gem install shorturl
Successfully installed shorturl-0.8.4
Installing ri documentation for shorturl-0.8.4...
Installing RDoc documentation for shorturl-0.8.4...
2- اعمل import كالتالى
3- اختيار السرفس اى موقع اللى عايز تستخدمه لتصغير الurls ؟
اكتب puts ShortURL.valid_services سيعرض لك قائمة بكل المتاح مثلا
puts ShortURL.valid_services
مثلا
lns
shortify
makeashorterlink
fyad
rubyurl
orz
skinnylink
d62
shorl
tinyurl
moourl
4- استدعى Shorten method كالتالى
ShortURL.shorten(link,service)
5- نكتب الكود الخاص بنا بحيث يكون قابل للاستخدام اكثر من مرة فى class مثلا او Function كالتالى
require 'shorturl'
def shortize(url)
return ShortURL.shorten(url, :tinyurl)
end
puts shortize("www.linuxac.org/forum")
#output: http://tinyurl.com/5rrela
طبعا ستتضح الميزة مع ال URLs الطويلة جدا.
FasterCSV ال CSV هى اختصار ل Comma Separated Values مثلا بينات مخزنة كالتالى
name, age, sex
مثل
ahmed, 18, male
tina, 18, female
omar, 18, male
ayman, 17, male
rogina, 20, female
1- ثبت ال fastercsv gem كالتالى
C:\Documents and Settings\ahmed>gem install fastercsv
Successfully installed fastercsv-1.2.3
Installing ri documentation for fastercsv-1.2.3...
Installing RDoc documentation for fastercsv-1.2.3...
2- اعمل import ل fastercsv كالتالى
3- حدد البيانات سواء فى نفس الملف او خارجه ، سأستخدم ال HEREDOC string هذه المرة
data =<<d
ahmed, 18, male
tina, 18, female
omar, 18, male
ayman, 17, male
rogina, 20, female
d
استدعى ال parse method كالتالى
FasterCSV.parse(data) do |rec|
name=rec[0]
age =rec[1]
sex =rec[2]
puts "Name: #{name}, Sex: #{sex}, Age:#{age}"
end
#Output:
Name: ahmed, Sex: male, Age: 18
Name: tina, Sex: female, Age: 18
Name: omar, Sex: male, Age: 18
Name: ayman, Sex: male, Age: 17
Name: rogina, Sex: female, Age: 20
المصادر :
1-
http://rubygems.org/ 2- Practical Ruby Gems