perlで書かれた Web Application Framework Polockyのまとめウィキです

Polocky::FileGeneratorとは


ファイルを作成するツールを簡単に実装することができます。

必要モジュール

  • Polocky::Core
  • Polocky::FineGenerator
git://github.com/polocky/p5-Polocky.git

ひな形作成

polocky-setup MyApp
cd MyApp
./bin/myapp-helper FileGenerator FileGenerator

sampleをためしてみる

./bin/filegenerator 
以下が表示される
Available commands:

  commands: list the application's commands
      help: display a command's help screen

    sample: (unknown)

sampleコマンド実行
./bin/filegenerator sample
ファイルが出力されます
$./bin/filegenerator sample
wrote file:/tmp/MyApp/bin/../view/share/common/file/sample.inc

sampleコマンドをみてみる

MyApp::FileGenerator::sample

MooseX::App::Cmdのコマンドに手を加えた型で実装されています。
generateという関数に、vars に値を設定すると値を読み込みテンプレートに渡すことができます。nameに自分のナマエを追加してみます。
package MyApp::FileGenerator::sample;
use Polocky::Class;
extends qw(Polocky::FileGenerator::TT);

sub execute {
    my $self = shift ;
    $self->generate( { vars => { pkg => "MyApp::FileGenerator::sample" , name => "Polocky" } } );
    1;
}

__POLOCKY__;

view/share/file_base/sample.tt

読み込みファイルです。Template-Toolkitのファイルです。by ナマエを追加してみました。
Genereted with [% pkg %] by [% name %]

ファイル作成

以下コマンド実行すると、view/share/common/file/sample.inc を更新します。
./bin/filegenerator sample
以下が作成されたファイルの中身です。

Genereted with MyApp::FileGenerator::sample by Polocky

まとめ


仕組み的には、プログラムでデータを作成し、読み込みファイルにそのデータを埋め込み、そしてファイルを出力するだけです。
たとえばlivedoor Wikiにあるランキングのファイルを一日一回作成し読み込んで表示するなどの用途に利用します。

Menu

WAF

メンバーのみ編集できます