model_historyというgemを作ってないけど公開した。

タイトルがわけわからないと思いますが、作ってないけど公開したのです。

事の発端は、dirty_historyというgemでした。
dirty_historyというgemは、ActiveRecordの変更履歴を保存してくれるというgemで、私が使いたかった機能を完全に実装してくれていたのですが、ただひとつ欠点がありました。
それは、テーブル定義にobject_idというカラムがあったことです。

そのため、DirtyHistoryRecordsテーブルのモデルは、Rubyのobject_idメソッドを再定義することになり、そのせいでWarningが出ていました。仕方がないのでそれを直してプルリクを送ろうか、と当初は考えたのですが、カラム名を変更するというプルリクは変更が大きいし、gemの後方互換性がなくなるのでやめたほうがよくないか?とチーム内でアドバイスをもらったので、全く似たようなカラム名の違うgemを作る事にしました。

dirty_historyはjewelerを使ってて今時じゃないよとカズさんに聞いたので、bundlerを使ったスッキリとした構成に書き直しました。カズさん製のgemであるneed_labelを参考にgemspecとかを書き換えて、リリース。でも処理はほとんどdirty_historyをコピーしました。だから作ってはいません。。。

まさかこんなことで初めてのgem作りをすることになるとは思ってなかったのですが、gemをリリースするのは簡単でびっくりしました。Chrome Extensionを作るのと似ています。

既にrecord_historyというgemがあったので、model_historyという名前にしたのですが、ネーミング微妙かもしれないですね…。

ということで、gemデビューでした。


タグ Ruby, Ruby on Rails | パーマリンク.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です