Rubyで不等号を使った時間比較に気をつける
Ruby on Railsチュートリアルで、これは覚えておかないといつか間違えそうだと思った時間比較があったのでメモ。
以下のコードの意味
#reset_sent_atはDateTime型 reset_sent_at < 2.hours.ago
これは、「reset_sent_at
が2時間以上前か」どうかを比較している。不等号の意味を額面通りに取ると、「reset_sent_at
が2時間より小さいか=2時間以内か」となり、正反対の意味になってしまうので注意。