Gajulog


2017.07.26 [years ago today] edit

 tDiary 5.0.5

本サーバーのRubyが2.4.1にアップデートされ、ようやっとtDiaryを最新版にできました。何が変わったわけじゃないけど。

サーバー側のRubyアップデートへの対応が素晴らしくて、/usr/local/bin/rubyを実行したときに2.0が動くか2.4が動くか決められるようにしてくれてた。なので、ここもほぼ停止せずに済みました。

で、上記のページにあるとおり、プラグインのrecent_listとrecent_comment3が動かなくてエラーになったんですが、何やらdiary_container.rb(DiaryContainerクラス)をプラグインの中でrequireしている*1のだけど、プラグインの関数は$SAFE=1の環境で動かすので、別の*.rbをrequireできないという$SAFE=1環境の制限に引っかかってエラーになるようです。

上のページを見るとDiaryContainer自体がプラグイン用のクラスらしいので、まあ事前にrequireしちゃって構わんだろ、とTDiary::Plugin::initialize内でrequireしてしまうことにしたらうまくいった。いいのかなこれ。ま、大丈夫だろ^^;。

あとはsqueeze.rbがcontribに移動してたのと、category.rbが軽量版に入れ替わってて元のcategory.rbがcategory-legacy.rbになってたので、元通りそっちを使うようにしたぐらいで、他はだいたいいつも通りのアップデートで対応できた。

Tags: tDiary

*1 直接requireしてるのではなく、autoload設定されている。プラグインの関数内で初めてDiaryContainerクラスが呼ばれるので、autoloadの働きでそこで自動的にrequireされる