Rubinius に Module#include のパッチ送ってみました
前に Rubinius の Module#inlcude がおかしいから直すって書いたきり、直してないのを思い出しました。
有言実行ということでとりあえずパッチを作りました(パッチは LightHouse のトラッカーに送ればいいみたいですね)。
これで Module#include が CRuby と同じ振舞いになります。それにしても Rubinius の流儀とかマナーとか良く分かりません。とりあえず送ってみて様子を見ることに。
と、これだけ書いてもつまらないので Rubinius での開発方法をメモしておきます。
- git からコードをダウンロード
- とりあえず rake build してみる
- スペックを書くとかして、とにかくあるべき振舞いを定める
- 今回は既に spec/ruby/1.8/core/module/include_spec.rb があるのでこれを使いました
- コードを書く
- 今回は kernel/core/module.rb にある Module#include を修正
- 再び rake build
- テストしてみる
- ./bin/mspec spec/ruby/1.8/core/module/include_spec.rb みたいな感じ
- 修正が終わったら、一応全体のテスト rake spec:full も通してみる
こんな手順で良さそうな気がします。ちなみに以下の文書を参考にしました。
http://rubinius.lighthouseapp.com/projects/5089/howto-develop-with-a-separate-rubyspec-repo
ところで spec/ruby/1.8/core/ 以下は色々とテストが通らないものがある気がするのですが、Rubinius はまだそういう感じなのでしょうか。直した方がいいの?それとも私はなにか勘違いしてるのでしょうか。