ちなみに

火曜日の空は僕を押しつぶした。

RSpecからclass << selfが消えた

僕の最近のコードはRSpecからの影響が強かったのだけれど、今日そのRSpecに良く分からない変更があった。

removed all instances of class << self

removed all instances of class << self · 9e2eb70 · dchelimsky/rspec · GitHub

今までは特異メソッドをclass << self 〜 endで定義していたのに、それをすべて違う方法に変更したのだ。
基本的にはdef self.foo; endになっていて、一カ所だけextend ClassMethodsになっている。

これの理由が良く分からない。


あと、同時にmetaclassメソッドが削除されていて、テストの中で

(class << LiarLiarPantsOnFire; self; end).instance_methods.should_not include("something")

となっていて吹いた。
これは他にmetaclassを使っているところが無いみたいだから仕方ないけど。