名前

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::FileMojo::Assetのすべてのイベントを継承しています。

属性

Mojo::Asset::FileMojo::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::FileMojo::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)

関連情報