คำสั่งแรก ก็คือ
script/plugin discover
คำสั่งนี้ rails จะ scan หา plugins repository site
และ add plugin source ที่พบไว้ใน
file
~/.rails-plugin-sources
ของเราตอนแรกที่เห็นคำสั่งนี้ ก็นึกว่าเขาคงมี web service
ที่ให้บริการเรื่อง query เพื่อที่จะสอบถามได้ว่า
มี repositories อะไรที่ลงทะเบียนไว้บ้าง
แต่เปล่าเลย หลังจากเปิดดู source code
ก็พบว่า เขาใช้วิธีง่ายกว่านั้น
กล่าวคือ
ปกติ Rails จะมี page Plugins
ที่ลงรายการ plugin ที่มีคนทำแล้ว พร้อมคำอธิบายสั้นๆ
สิ่งที่คำสั่ง discover ทำ ก็คือ
load page ที่ว่ามา
แล้วก็ใช้ pattern matching หา link ที่มีคำว่า "plugin"
|- class Discover
||+ def initialize(base_command)
||
||+ def options
||
||+ def parse!(args)
||
2- def scrape(uri)
23 require 'open-uri'
23 puts "Scraping #{uri}" if $verbose
23 dupes = []
3- content = open(uri).each do |line|
4- if line =~ /<a[^>]*href=['"]([^'"]*)['"]/
45 uri = $1
5- if uri =~ /\/plugins\// and
uri !~ /\/browser\//
56 uri = extract_repository_uri(uri)
56 yield uri unless dupes.include?(uri) or
Repositories.instance.exist?(uri)
56 dupes << uri
56 end
45 end
34 end
23 end
||
||+ def extract_repository_uri(uri)
|| end
หลังจากได้ listing ของ plugin source มาแล้ว
คราวนี้เราก็สามารถใช้คำสั่ง
script/plugin install PLUGIN_NAME
เพื่อ install plugin ที่เราต้องการ
Note:
ผมชอบใช้วิธี svn export มากกว่าแฮะ
No comments:
Post a Comment