鳩舎

レースしない

uninclude gem v1.0.0

uninclude という gem を公開しました。

初めての C 拡張 gem でドキドキしています。

uninclude はその名の通り、 Module#include をなかったことにするための gem です。Module#include は Module#uninclude で取り消し、Object#extend も Object#unextend で取り消せます。

同じような目的のライブラリに seattlerb/un というのがあって、これは RubyInline を使って実装されているのですが、 Ruby 2.0.0 で動かなかったです。

他にも include を取り消す C 拡張のコード片とかはネットにちらほら転がっていたのですが、そのままだと Ruby 1.8.7 で動かないとかの問題があったので、 Ruby 1.8.7 でも動くようにしたりとかしました。

現状 Travis-CI でテストしている Ruby のバージョンは 2.0.0 / 1.9.3 / 1.9.2 / 1.8.7 / REE です。

これで DCI にまた一歩近づきましたね。

追記

Ruby 的にはこういうのあんまりよくないみたいなので、今後使えなくなる gem である可能性があります。