ただのにっき
2017-01-20(金) [長年日記]
■ tDiaryをruby 2.4対応した
昨年末にリリースしたtDiary 5.0.3のリリースノートで、直前にリリースされたruby 2.4.0への対応のことは書かなかった。標準的なセットでは問題なく動いているものの、gem化して独立させた周辺パッケージのいくつかが2.4未対応のgemに依存していたので、それらが追いついてからでもいいか、という感じだったので。
その後確認用のブランチをおこしてチェックをしていたら、依存関係はだいたい片付いたものの、CIでおかしなエラーが出ていてパッとみただけでは原因がよくわからない。で、じっくりコードを追いかけていった末に、テンプレートの中でこんな行を見つけてヘナヘナになった:
elsif @options2[k].class.to_s =~ /^(Fixnum|FalseClass|TrueClass|NilClass)$/
いやいや、おまえ、tDiaryはruby 2.4で入った非互換関係ないしとか言ってただろ(笑)。がっつり依存してるやんけー*1。とほほ。
そもそもこのコードがダサいというのは置いておくとして*2、とりあえず動くようにしてコミットしておいた。これでいちおう、2.4対応は済んだかな。
なお、この日記のコードベースはちょっといじってあるので、ここを2.4にするのはもうちょっと先。