野良Gem「utils」をバージョンアップしてみた(※古い記事)

注記。こちらのやり方の方がいいと思います。
obelisk.hatenablog.com
以下は古い記事です。


GitHub に入れておいた野良Gem「utils」ですが、バージョンアップしてみました。
野良 Gem の作り方(Ruby) - Camera Obscura
の続きです。bundler が必要です。


まず古い Gem を $ bundle exec gem uninstall utils で削除し、Gemfile から記述を取り除いて $ bundle list をします 。また、Gem の入ったディレクトリ utils に入って、ここでも $ gem uninstall utils でローカルな Gem も削除します。

次に、ディレクトリ utils/lib 内の utils.rb 本体を書き換え、また utils/lib/utils 内の version.rb のバージョン情報も書き換えます。そこで

$ bundle install

します。これで一応使えるので、$ bundle exec irbirb を起動し、Gem が正しく使えるかを確認して下さい。そうしたら

$ gem build utils.gemspec
$ gem install utils

でローカルにインストールされている筈です。今度はふつうに $ irbirb を起動して require "utils" ができるか確かめます。ひとまずここで一段落です。


次に、GitHubリポジトリを更新します。

$ rake build
$ rake install
$ rake release

で最後がうまくいかないので、$ git status をやってやると、変更を加えたファイルを git add しないといけないようですね。なので

$ git add lib/utils.rb
$ git add lib/utils/version.rb

をやってやり、再び $ rake release してやると、何だか "Too many gem names" と叱られますが、これでいいようです。


あとは野良 Gem を GitHub からインストールするだけです。ディレクトリを上に戻り、Gemfile に gem "utils", github: 'obelisk68/utils' を追加して $ bundle install です。これで野良 Gem のバージョンアップを終えました。


あくまでも自分用の Gem ですが、使い方は一応ここに超簡単に書いておきました。bundler を使っておられる方は、よろしければどうぞ。


※追記
$ rake release で "There are files that need to be committed first." という表示が出るときは、ここで

$ git add . -A && git commit -m 'first commit'

を実行してから、$ rake release してみて下さい。(2/27)