イマドキのgemのつくりかた
なんかマジで簡単になった。最近ライブラリ作りまくってるのでその全体的な手順をメモ。
Ruby1.9の前提で書きますが、1.8でも出来るかもですね。Rubygemsの認証周りについては記載してませんが、画面に表示される英文読んでたら楽ショーで出来る思います
gemのひな形を作る
まずローカルにリポジトリを作ります。これはbundle gemコマンドを使います
$ bundle gem your_project create your_project/Gemfile create your_project/Rakefile create your_project/LICENSE create your_project/README.md create your_project/.gitignore create your_project/your_project.gemspec create your_project/lib/your_project.rb create your_project/lib/your_project/version.rb Initializating git repo in /home/kimoto/projects/your_project
必要なファイルが生成されました。
gemのメタ情報を編集する
次はyour_project.gemspecを編集し、gemのsummaryとかdescriptionをちゃんと書きます。
なおユーザー側でrequire 'your_project'したときは、./lib/your_project.rb が読み込まれるのでそれを想定してこのコードを書く感じです
コミットする
実はyour_projectディレクトリはgitのリポジトリになってます。なのでgitコマンドで変更をコミットしたりファイルを追加したり出来ます。
後述するgemをビルドする仕組みはこのコミット済みなgitで管理されたファイルリストをもとにパッケージ化してくれるので、ちゃんとここで変更をコミットしておかないと駄目です。
gemをビルドする
カレントディレクトリにRakefileがあるのでこれを使います。使えるコマンドリストはrake -Tでわかります。やってみましょう
$ rake -T rake build # Build retry-handler-0.2.gem into the pkg directory rake install # Build and install retry-handler-0.2.gem into system gems rake release # Create tag v0.2 and build and push retry-handler-0.2.gem to...
3つありますね。
ソースコードのpush先を追加する
どこでもいいですがとりあえずgithubにいって新規リポジトリを作成してきてください。
そんでもって、その作成したリポジトリの、git@github.com:kimoto/your_project.git ←こんな感じのURIを調べてきてください
gitでpush先を追加するにはgit remoteコマンドを使います
$ git remote add origin git@github.com:kimoto/your_project.git
簡単ですね。ちゃんと追加されてるかどうかは git remote -vで確認できます
$ git remote -v origin git@github.com:kimoto/your_project.git (fetch) origin git@github.com:kimoto/your_project.git (push)