rspecキモい。
SNS的な「ともだちになる」機能を作ろうとしたとする。
そのために
の2を実装しようとしたとき、テストは以下のように書ける
~snip~ describe "become_friend" do let(:other_user) { FactoryGirl.create(:user) } before do @user.save @user.become_friend!(other_user) end it { should be_friend_of(other_user) } #=> ココ! its(:friends) { should include(other_user) } end
キモいと思ったのは下から3行目のところで、マッチャー(?)に自作のメソッドが使えるっていうのはシロート童貞のぼくには刺激が強すぎました。これがメタプログラミングの恐ろしさってやつでしょうか。
なお、become_friend!については、become_friend_of!とどっちにするか、シロート童貞なりに悩みましたが前者にすることにしたことを追記して終わりたいと思います。
以上、よろしくお願い致します。