DeloreanはRuby用のオープンソース・ソフトウェア。デロリアンと言って思い出すのはマイケルJフォックス主演の映画、バックトゥザフューチャーだろう。あの自動車型タイムマシンは、空を飛んだり路上に燃えるタイヤ跡を残したりと、子供心に興奮させられた。

ピクチャ 72.png

時間を自在に操作する

 

Deloreanというライブラリはこのデロリアンから来ている。すべきことはもちろん時を操ることにある。今時の時間によってデータを制御しているシステムなどで、きっと活躍してくれることだろう。

よくあるのは現在より過去であればデータを表示すると言った使い方だ。現在時刻によってデータが表示されたり、逆にされなかったりするので非常にテストがしづらい。今日のデータだけを出すと言った場合も同様だ。泣く泣く引数に時刻を追加したりするのはよくあることだ。

そんな時に使えるのがDeloreanになる。Deloreanを使い、time_travel_to “3 years"などと実行すれば現在時刻が3年戻る。逆にjump(500)とすれば500秒時が進む。Time.nowやDate.todayといったメソッドの実行値が変わるのだ。

まさに時間を操作している。Deloreanを使えばテストのしやすさがぐっと向上するだろう。アプリケーションサーバの時間を変更したためにデータベースと整合性がなくなったり、日付でロケートするログがおかしくなったりすることもない。非常に便利なライブラリだ。

 

bebanjo’s delorean at master - GitHub

 http://github.com/bebanjo/delorean