はじめに

今回はtDiaryのプラグインの仕組みを読んでみたいと思います。といっても今までtDiaryを読んだことがないので1から読んでいきたいと思います。

index.rb

何はなくともindex.rbを見てみましょう。早速興味深いコードがあります。

if FileTest::symlink?( __FILE__ ) then
	org_path = File::dirname( File::readlink( __FILE__ ) )
else
	org_path = File::dirname( __FILE__ )
end
$:.unshift( org_path.untaint )
require 'tdiary'

$:はファイルのロードパスです。そこにindex.rb*1が置かれているディレクトリを登録することでカレントディレクトリがどこから実行されてもindex.rbと同じディレクトリにあるtdiary.rbを読み込めるようにしています。


*1 例えば複数の日記を書く場合に実体はどこかに置いといて各日記のディレクトリにはindex.rbとupdate.rbのシンボリックリンクを置くという運用も考慮されているのがすばらしいところです。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS