NAME

Mojo::Asset::File - File Asset

SYNOPSIS

    use Mojo::Asset::File;

    my $asset = Mojo::Asset::File->new;
    $asset->add_chunk('foo bar baz');
    print $asset->slurp;

    my $asset = Mojo::Asset::File->new(path => '/foo/bar/baz.txt');
    print $asset->slurp;

DESCRIPTION

Mojo::Asset::File is a container for file assets.

ATTRIBUTES

Mojo::Asset::File implements the following attributes.

cleanup

    my $cleanup = $asset->cleanup;
    $asset      = $asset->cleanup(1);

Delete file automatically once it's not used anymore.

end_range

    my $end = $asset->end_range;
    $asset  = $asset->end_range(8);

Pretend file ends earlier.

handle

    my $handle = $asset->handle;
    $asset     = $asset->handle(IO::File->new);

Actual file handle.

path

    my $path = $asset->path;
    $asset   = $asset->path('/foo/bar/baz.txt');

Actual file path.

start_range

    my $start = $asset->start_range;
    $asset    = $asset->start_range(0);

Pretend file starts later.

tmpdir

    my $tmpdir = $asset->tmpdir;
    $asset     = $asset->tmpdir('/tmp');

Temporary directory.

METHODS

Mojo::Asset::File inherits all methods from Mojo::Asset and implements the following new ones.

add_chunk

    $asset = $asset->add_chunk('foo bar baz');

Add chunk of data to asset.

contains

    my $position = $asset->contains('bar');

Check if asset contains a specific string.

get_chunk

    my $chunk = $asset->get_chunk($offset);

Get chunk of data starting from a specific position.

move_to

    $asset = $asset->move_to('/foo/bar/baz.txt');

Move asset data into a specific file.

size

    my $size = $asset->size;

Size of asset data in bytes.

slurp

    my $string = $file->slurp;

Read all asset data at once.

SEE ALSO

Mojolicious, Mojolicious::Guides, http://mojolicious.org.