Mojo::Asset::File

Section: User Contributed Perl Documentation (3)
Updated: 2019-01-02
Page Index
 

NAME

Mojo::Asset::File - File storage for HTTP content  

SYNOPSIS

  use Mojo::Asset::File;

  # Temporary 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;

  # Existing file
  my $file = Mojo::Asset::File->new(path => '/home/sri/foo.txt');
  $file->move_to('/yada.txt');
  say $file->slurp;

 

DESCRIPTION

Mojo::Asset::File is a file storage backend for HTTP content.  

EVENTS

Mojo::Asset::File inherits all events from Mojo::Asset.  

ATTRIBUTES

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

cleanup

  my $bool = $file->cleanup;
  $file    = $file->cleanup($bool);

Delete ``path'' automatically once the file is not used anymore.  

handle

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

Filehandle, created on demand for ``path'', which can be generated automatically and safely based on ``tmpdir''.  

path

  my $path = $file->path;
  $file    = $file->path('/home/sri/foo.txt');

File path used to create ``handle''.  

tmpdir

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

Temporary directory used to generate ``path'', defaults to the value of the "MOJO_TMPDIR" environment variable or auto-detection.  

METHODS

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

add_chunk

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

Add chunk of data.  

contains

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

Check if asset contains a specific string.  

get_chunk

  my $bytes = $file->get_chunk($offset);
  my $bytes = $file->get_chunk($offset, $max);

Get chunk of data starting from a specific position, defaults to a maximum chunk size of 131072 bytes (128KiB).  

is_file

  my $bool = $file->is_file;

True, this is a Mojo::Asset::File object.  

move_to

  $file = $file->move_to('/home/sri/bar.txt');

Move asset data into a specific file and disable ``cleanup''.  

mtime

  my $mtime = $file->mtime;

Modification time of asset.  

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'});

Construct a new Mojo::Asset::File object.  

size

  my $size = $file->size;

Size of asset data in bytes.  

slurp

  my $bytes = $file->slurp;

Read all asset data at once.  

to_file

  $file = $file->to_file;

Does nothing but return the invocant, since we already have a Mojo::Asset::File object.  

SEE ALSO

Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.


 

Index

NAME
SYNOPSIS
DESCRIPTION
EVENTS
ATTRIBUTES
cleanup
handle
path
tmpdir
METHODS
add_chunk
contains
get_chunk
is_file
move_to
mtime
new
size
slurp
to_file
SEE ALSO