Appホームディレクトリ取得モジュールApp::Home

最終更新日 : 2011-01-24 23:01:52

アプリケーション作成時には、システムの配備情報を扱うために、アプリケーションホームディレクトリを取得する必要が、必ずでてきます。そのソースをフレームワークを作る毎に作成するのがめんどくさいので App::Home というのをさっき暇つぶしに作成し,githubに上げました。もしかしたらすでにそういうモジュールがあるのかもしれません。

利用方法


まず継承する

package MyApp::Home;
use parent 'App::Home';
1;


利用する。get()メソッドしか使い道はないです。Path::Class::Dir のobjectを返します。また、シングルトンで実装されているので、一度呼べば後速いですし、同じ値を返すことを約束しています。

my $home = MyApp::Home->get();

Home発見ロジック


Homeディレクトリ取得ロジックは、ikebeさんの作成したPicklesのPickles::Configのhomeを見つけるロジックがいい感じなので、そこからソースを盗んで実装しています。環境変数を探して見つからなければ、アプリケーション::Homeライブラリの配備位置から取得する感じになっています。

あとがき


homeディレクトリを見つけるという単純なことなのですが、フレームワークを作成する際には必ず必要になる重要な機能です。お家は大切なのでたまには親孝行しようということでした。
  • カテゴリ:
  • Tech