amakanを Ruby 2.3.3 から 2.4.0-preview3 に移行した

amakanをRails 5に移行した - ✘╹◡╹✘ に引き続き、改善を加えた。


https://amakan.net/ では先日まで Ruby 2.2.0 を使っていたが、amakanでRuby 2.3.3を使うようにした - ✘╹◡╹✘ で 2.3.3 に移行し、今回は試しに 2.4.0-preview3 を使ってみることにした。

xmlrpc

Ruby 2.4.0 から xmlrpc というライブラリが標準ライブラリから別の Gem に切り離される。amakan では Gravatar のアイコンを表示するために gravatar-ultimate という Gem を使っていて、そこで xmlrpc を使っているので、amakan 側の Gemfile にそれを記述するようにした。

https://github.com/sinisterchipmunk/gravatar

therubyracer

amakan は初回リクエストのみ Server-Side Rendering を利用して React のコードから HTML を生成している。このときに therubyracer というライブラリが利用される。Ruby 2.4.0 では Fixnum と Bignum が Integer に統合されるが、これの影響で動かなくなるので、修正を加える必要がある。

https://github.com/cowboyd/therubyracer/pull/413

rails

Ruby 2.4 から OpenSSL の Cipher が鍵の長さを厳格に検査するようになり、長すぎる場合にエラーを出すように変更された。これの影響で Rails 5.0.0.1 を使っているとエラーが出るようになったため、修正が含まれている Rails 5.0.1.rc1 を使うようにした。

deprecation warning

Fixnum を直接参照しているさまざまなライブラリから警告が出るようになったが、これはしばらく放置している。Ruby 2.4.0 が正式にリリースされれば、そのうち解消される方向に向かっていくはず。