名前
Giblog::API - Giblog API
説明
Giblog APIはHTMLコンテンツを処理をするためのAPIです。
ユーティリティメソッド
new
my $api = Giblog::API->new(%args);
Giblog::APIオブジェクトを生成します。
Giblog::APIオブジェクトを取得するために、通常の利用では使用する必要はありません。
それぞれのコマンドクラスのapiメソッドを代わりに使用してください。
sub build {
my ($self, @args) = @_;
# APIをコマンドクラスのapiメソッドを使って取得
my $api = $self->api;
}
get_proto_dir
my $proto_dir = $api->get_proto_dir($module_name);
モジュール名を指定して、対応する「proto」ディレクトリのパスを取得します。
モジュール名が「Giblog::Command::new_foo」であった場合で、読み込まれたパスが「lib/Giblog/Command/new_foo.pm」であった場合は、「proto」ディレクトリのパスは「lib/Giblog/Command/new_foo/proto」になります。
lib/Giblog/Command/new_foo.pm
/new_foo/proto
モジュールは、すでに読み込まれている必要があります。そうでない場合は、例外が発生します。
create_website
$api->create_website($website_name, $proto_dir);
ウェブサイト名と、protoディレクトリを指定して、Webサイトを作成します。
ウェブサイト名で指定された名前を持つディレクトリが作成され、その中にprotoディレクトリの中身がコピーされます。
ウェブサイト名は、ファイル名として有効な名前を指定してください。
ウェブサイト名が、指定されない場合は、例外が発生します。
ウェブサイトがすでに存在する場合は、例外が発生します。
protoディレクトリが指定されない場合は、例外が発生します。
run_command
$api->run_command($command_name, @args);
コマンド名を指定して、引数を与えてコマンドを実行します。
たとえば、コマンド名が「build」の場合は「Giblog::Command::build」がロードされ、このクラスの「run」メソッドが実行されます。
コマンド名に対応するコマンドクラスがロードできなかった場合は、例外が発生します。
read_config
my $config = $api->read_config;
ホームディレクトリ直下にある「giblog.conf」を読み込みます。
「giblog.conf」は、Perlのソースコードとして正しく、ハッシュのリファレンスを返す必要があります。そうでない場合は、例外が発生します。
config
my $config = $api->read_config;
「read_config」で読み込まれた設定を取得します。「read_confg」が実行される前は、未定義です。
home_dir
my $home_dir = $api->home_dir;
Giblogのホームディレクトリを取得します。
rel_file
my $file = $api->rel_file('foo/bar');
Giblogのホームディレクトリに、指定された相対パスを結合したパスを返します。
ホームディレクトリが設定されていない場合は、そのまま返します。
create_dir
$api->create_dir($dir);
ディレクトリを作成します。
ディレクトリの作成に失敗した場合は、例外が発生します。
create_file
$api->create_file($file);
ファイルを作成します。
ファイルの作成に失敗した場合は、例外が発生します。