2014/8/12
Rails 4 で TimeWithZone#as_json がmsecを出してしまう問題
Rails3からRails4へのアップグレード業で、TimeWithZoneがmsecを持つようになったためにas_json
でmsecが出力されてテストがたくさん落ちる事案が発生した。
今回はJSON APIのテストで時刻をすべて正規表現でチェックしていたのでほぼ全滅という有り様であった。
最初はモンキーパッチしてみてとりあえずテストが通ることを確認したんだけど、よく考えたらそれも変だよなーといろいろ見ていたらActiveSuppot::JSON::Encoding.time_precision
というのを見つけた。
config/initializers/json_encoding.rb
みたいなところに
ActiveSuppot::JSON::Encoding.time_precision = 0
と書いて終わり。よかったよかった。
created_at: 2015-08-06 01:43:33 +0900
updated_at: 2015-08-06 01:43:33 +0900