ライド・オン・Rails #2
2.1の途中まで読んだ。
書いてある通りにプラグインをインストールするために、以下のコマンドを実行すると、エラーが発生して異常終了してしまった。
> ruby script/plugin discover
上記のコマンドは、http://wiki.rubyonrails.org/rails/pages/Pluginsのページの内容からURLを拾ってくるもののようだが、このページの最後のほうに以下のようなリンクがあって、これもプラグインのURLだと誤認することが原因。
<a href="/rails/pages/plugins/versions/new">Edit</a>
取り敢えず、Railsのソースの以下の部分を変更して回避した。
--- gems/rails-1.1.4/lib/commands/plugin.rb.orig 2006-07-03 12:58:50.000000000 +0900 +++ gems/rails-1.1.4/lib/commands/plugin.rb 2006-07-06 16:00:46.000000000 +0900 @@ -660,6 +660,7 @@ module Commands uri = $1 if uri =~ /\/plugins\// and uri !~ /\/browser\// uri = extract_repository_uri(uri) + next unless uri yield uri unless dupes.include?(uri) or Repositories.instance.exist?(uri) dupes << uri end @@ -668,7 +669,8 @@ module Commands end def extract_repository_uri(uri) - uri.match(/(svn|https?):.*\/plugins\//i)[0] + m = uri.match(/(svn|https?):.*\/plugins\//i) + m ? m[0] : nil end end