Mojo::Asset::File - HTTPコンテンツのファイルストレージ
使い方
use Mojo::Asset::File; # 一時ファイル my $file = Mojo::Asset::File->new; $file->add_chunk('foo bar baz'); say 'File contains "bar"' if $file->contains('bar') >= 0; say $file->slurp; # 存在するファイル my $file = Mojo::Asset::File->new(path => '/home/sri/foo.txt'); $file->move_to('/yada.txt'); say $file->slurp;
説明
Mojo::Asset::FileはHTTP1.1のためのファイルストレージのバックエンドです。
イベント
Mojo::Asset::FileはMojo::Assetのすべてのイベントを継承しています。
属性
Mojo::Asset::FileはMojo::Assetからすべての属性を継承しており、 次の新しい属性を実装しています。
cleanup
my $bool = $file->cleanup; $file = $file->cleanup($bool);
ファイルが利用されなくなったときに、パス(path)を自動的に削除します。
handle
my $handle = $file->handle; $file = $file->handle(IO::File->new);
ファイルハンドル。"path"に要求があったときに、生成されます。これは、自動的に生成され、"tmpdir"に基づき安全です。
path
my $path = $file->path; $file = $file->path('/home/sri/foo.txt');
handle
を生成するためのファイルパス。
tmpdir
my $tmpdir = $file->tmpdir; $file = $file->tmpdir('/tmp');
path
を生成するために使われる一時ディレクトリ。デフォルトは、 MOJO_TMPDIR
環境変数の値か、自動的な検知です。
メソッド
Mojo::Asset::FileはMojo::Assetのすべてのメソッドを継承しており、 次の新しいメソッドを実装しています。
add_chunk
$file = $file->add_chunk('foo bar baz');
データのチャンクを資源に追加します。
contains
my $position = $file->contains('bar');
資源が、指定した文字列を含んでいるかをチェックします。
get_chunk
my $bytes = $file->get_chunk($offset); my $bytes = $file->get_chunk($offset, $max);
指定した位置から始まる、データのチャンクを取得します。 最大チャンクサイズのデフォルトは131072
バイト(128KB)です。
is_file
my $true = $file->is_file;
常に真になります。これはMojo::Asset::Fileオブジェクトです。
move_to
$file = $file->move_to('/home/sri/bar.txt');
資源データを指定したファイルに移動し、 cleanup
を無効にします。
mtime
my $mtime = $file->mtime;
アセットの修正された時刻。
new
my $file = Mojo::Asset::File->new; my $file = Mojo::Asset::File->new(path => '/home/sri/test.txt'); my $file = Mojo::Asset::File->new({path => '/home/sri/test.txt'});
新しいMojo::Asset::Fileオブジェクトを構築します。
size
my $size = $file->size;
資源データのバイトサイズです。
slurp
my $bytes = $file->slurp;
一度にすべての資源データを読み込みます。
to_file
$file = $file->to_file;
すでにMojo::Asset::Fileオブジェクトなので、何もしませんが、インボカントを返します。
参考
Mojolicious, Mojolicious::Guides, http://mojolicio.us.
(2019/03/16 Mojolicious 8.12)