use Mojo::Asset::Memory; my $mem = Mojo::Asset::Memory->new; $mem->add_chunk('foo bar baz'); say $mem->slurp;
$mem->on(upgrade => sub { my ($mem, $file) = @_; ... });
Emitted when asset gets upgraded to a Mojo::Asset::File object.
$mem->on(upgrade => sub { my ($mem, $file) = @_; $file->tmpdir('/tmp'); });
my $bool = $mem->auto_upgrade; $mem = $mem->auto_upgrade($bool);
Try to detect if content size exceeds ``max_memory_size'' limit and automatically upgrade to a Mojo::Asset::File object.
my $size = $mem->max_memory_size; $mem = $mem->max_memory_size(1024);
Maximum size in bytes of data to keep in memory before automatically upgrading to a Mojo::Asset::File object, defaults to the value of the "MOJO_MAX_MEMORY_SIZE" environment variable or 262144 (256KiB).
my $mtime = $mem->mtime; $mem = $mem->mtime(1408567500);
Modification time of asset, defaults to the value of $^T.
$mem = $mem->add_chunk('foo bar baz'); my $file = $mem->add_chunk('abc' x 262144);
Add chunk of data and upgrade to Mojo::Asset::File object if necessary.
my $position = $mem->contains('bar');
Check if asset contains a specific string.
my $bytes = $mem->get_chunk($offset); my $bytes = $mem->get_chunk($offset, $max);
Get chunk of data starting from a specific position, defaults to a maximum chunk size of 131072 bytes (128KiB).
$mem = $mem->move_to('/home/sri/foo.txt');
Move asset data into a specific file.
my $size = $mem->size;
my $bytes = mem->slurp;
my $file = $mem->to_file;
Convert asset to Mojo::Asset::File object.