Rubyのプロジェクトの雛形 + gemの生成/公開にjewelerを使うようにしてみた
世界的にはマイナーでしたが、個人的には cutagem が大好きでした。
gemを作るとき、プロジェクトを作るときには結局何を使うと嬉しいのだろう
ですが cutagem は明らかに gemcutter.org というか rubygems.org 時代に対応する感じがなさそうです。そこでもう一度試してみました。
で、結果、jeweler にしてみました。
technicalpickles's jeweler at master - GitHub
試したもの
ruby-toolbox.com の上位3つ。
- jeweler
- bones
- newgem
だけ。
簡単な感想
- jeweler
- 予想以上に多機能。テストツールやドキュメンテーションツールなどを雛形作成時に選べるので、rdoc + test/unit なプロジェクトも yard + rspec なプロジェクトも作れる。個人的には徐々に移行しようかと思っているのでこういうのは助かる。ただし、git + github + gemcutter.org に完全に依存していて、新しいプロジェクトを作るといきなり git init & commit までいってしまう。(rubyforge に上げることもできる。)
- bones
- Rakefile の中身がスカスカなのが気になる。きっと gem library の中にいろいろ記述されているんだろうけど、ちょっとここだけ修正したい、などには対応できなくなってしまう。また、テストは rspec しか考えてないっぽい。
- newgem
- Rails 寄りすぎて個人的にはあまり活用シーンがなさそう。
github-username をセットしておらず、jeweler でちょっとハマる
1年前の2009年10月には
InfoQ: RubyForgeは徐々に廃止され、RubyGems.orgがGemホスティングを引き継ぐ
ということで rubyforge.org は廃止の方向で話が進み始めています。他のコードホスティングサービス、github や google code の方が優れている機能を rubygems.org にわざわざ移植することはしないそうです。
その中で jeweler は git & github を標準としました。これを表すものとして
- github の username を要求し、
- いきなり git commit してしまう
という潔さに自分は感動しました。ただし一つハマったことがあって、それは
github の username が必要
な点。これには
- jeweler –github-username USERNAME で指定する
- ~/.gitconfig の github.user で指定する
の2つの方法があります。2 は
[github]
username = USERNAME
という記述のことで、これは
git config --global github.user USERNAME
で指定することと一緒です。
もう2年以上 github を使っていながら github 用の設定を .gitconfig に用意していなかったので新しいプロジェクトを作ることができなくてしばらく悩んでしまいました。(というか、一回 jeweler に挫折しました。ちゃんとエラーメッセージ読んでなかった。)
でももう大丈夫。この間
crontabwrap | RubyGems.org | your community gem host
をリリースしてだいぶ感じをつかんだので、今後はこれでいこうかなと考えています。
[2010-10-09 追記]
https://rubygems.org/ にパッケージを上げると http://rubydoc.info/ に自動的にドキュメントが生成されるみたい。これはすごいなぁ。