野良 Gem の作り方(Ruby) - Camera Obscura
以前「野良 Gem」(「野良」なのは、僕が RubyGems.org に登録していないからです)を作ったのですが、いいかげんなやり方だったので、書き直してみます。
gem 'mygtk' を作ってみます。git が必要なので、なければインストールして下さい。
GitHub のアカウントに mygtk というリポジトリを作っておきます。
また、以下 Bundler を使うので、インストールしておいて下さい。
好きなディレクトリで
$ bundle gem mygtk
を実行します。すると mygtk フォルダが出来、色いろ他のファイルも作成されます。
$ cd mygtk
でフォルダの中に入ります。この中にある、mygtk.gemspec というファイルの中身を変更します。具体的には上のリンク先を見て下さい。spec.summary と spec.description は必ず中身を記述しなくてはなりません。また、依存する Gem があれば spec.add_dependency も記述します(標準添付ライブラリについては必要ありません)。
lib というディレクトリに入って、中の mygtk.rb を書きます(先頭に require "mygtk/version"
が必要です)。これが require される Gem の本体になります。
git のインデックス(ステージ領域)に追加し、コミットします。
$ git add -A $ git commit -m 'first commit'
Gem を作ります。
$ rake install
これで Gem が出来ているので、irb で require 'mygtk' などしてみて確認します。
リモートリポジトリ(この場合は GitHub)にファイルを上げます。
$ git remote add origin git@github.com:obelisk68/mygtk.git $ git push -u origin master
リリースします。RubyGems.org に登録していれば、これで Gem が公開されます。登録していない場合はここでフリーズするので、しばらくして [Ctrl]+[C] で中断します。
$ rake release
これで GitHub に(野良)Gem が置かれました。終了です。
これで RubyGem に上げていれば、あとはふつうに Gem として使ってください。
「野良」の場合は、Bundler でインストールできます。Gemfile に
gem 'mygtk', github: 'obelisk68/mygtk'
と記述して、
$ bundle install
でインストールできます。使い方は以下。
GTK+でお絵かきしてみた(Ruby) - Camera Obscura
※参考
bundle gemは何をしてくれるのか? - ザリガニが見ていた...。
サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ