2017.07.26 [years ago today]
# tDiary 5.0.5
本サーバーのRubyが2.4.1にアップデートされ、ようやっとtDiaryを最新版にできました。何が変わったわけじゃないけど。
サーバー側のRubyアップデートへの対応が素晴らしくて、/usr/local/bin/rubyを実行したときに2.0が動くか2.4が動くか決められるようにしてくれてた。なので、ここもほぼ停止せずに済みました。
- ruby、pythonの新バージョンご提供開始について (レンタルサーバーのアイネットディー)
で、上記のページにあるとおり、プラグインのrecent_listとrecent_comment3が動かなくてエラーになったんですが、何やらdiary_container.rb(DiaryContainerクラス)をプラグインの中でrequireしている*1のだけど、プラグインの関数は$SAFE=1の環境で動かすので、別の*.rbをrequireできないという$SAFE=1環境の制限に引っかかってエラーになるようです。
- Release tDiary 4.1.2 (GitHub)
上のページを見るとDiaryContainer自体がプラグイン用のクラスらしいので、まあ事前にrequireしちゃって構わんだろ、とTDiary::Plugin::initialize内でrequireしてしまうことにしたらうまくいった。いいのかなこれ。ま、大丈夫だろ^^;。
あとはsqueeze.rbがcontribに移動してたのと、category.rbが軽量版に入れ替わってて元のcategory.rbがcategory-legacy.rbになってたので、元通りそっちを使うようにしたぐらいで、他はだいたいいつも通りのアップデートで対応できた。
*1 直接requireしてるのではなく、autoload設定されている。プラグインの関数内で初めてDiaryContainerクラスが呼ばれるので、autoloadの働きでそこで自動的にrequireされる