---
name: "Mojolicious::Plugin::AssetPack::Asset"
section: "3pm"
platform: "linux"
package: "libmojolicious-plugin-assetpack-perl"
version: "2.15-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Mojolicious::Plugin::AssetPack::Asset"
---

# Mojolicious::Plugin::AssetPack::Asset(3pm)

An asset

## NAME

Mojolicious::Plugin::AssetPack::Asset - An asset

## DESCRIPTION

Mojolicious::Plugin::AssetPack::Asset represents an asset.

## SYNOPSIS

```
  use Mojolicious::Plugin::AssetPack::Asset;
  my $asset = Mojolicious::Plugin::AssetPack::Asset->new(url => "...");
```

## ATTRIBUTES

### checksum

```
  $str = $self->checksum;
  $self = $self->checksum($str);
```

The checksum of "content".

### format

```
  $str = $self->format;
  $self = $self->format($str);
```

The format of "content". Defaults to the extension of "url" or empty string.

### minified

```
  $bool = $self->minified;
  $self = $self->minified($bool);
```

Will be set to true if either "url" contains "min" or if a pipe has minified "content".

### name

```
  $str = $self->name;
```

Returns the basename of "url", without extension.

### renderer

```
  $code = $self->renderer;
  $self = $self->renderer(sub { my ($self, $c) = @_; $c->render(data => "...""); })
```

Can be used to register a custom render method for this asset. This is called by "serve\_asset" in Mojolicious::Plugin::AssetPack::Store.

### tag\_for

```
  $code = $self->tag_for;
  $self = $self->tag_for(sub { my ($c, \%args, @attrs) = @_; return qq(<link rel="...">) });
```

Used to register a custom tag renderer for this asset. The arguments passed in are:

- •

  `$c`

  The Mojolicious::Controller object used for this request.

- •

  `%args`

  A hash-ref with "base\_url" and topic.

- •

  `@attrs`

  The HTML attributes passed in from the template.

- •

  ### url

```
  $str = $self->url;
```

Returns the location of the asset.

## METHODS

### asset

```
  $asset = $self->asset;
```

Returns a new Mojo::Asset::File or Mojo::Asset::Memory object, with the content or path from this object.

This method is EXPERIMENTAL.

### content

```
  $bytes = $self->content;
  $self = $self->content($bytes);
  $self = $self->content(Mojo::Asset::Memory->new);
```

Used to get or set the content of this asset. The default will be built from passing "url" to "file" in Mojolicious::Plugin::AssetPack::Store.

### path

```
  $str = $self->path;
```

Returns a Mojo::File object that holds the location to the asset on disk or `"undef"` if this asset is in memory.

### size

```
  $int = $self->size;
```

Returns the size of the asset in bytes.

### url\_for

```
  $url = $self->url_for($c);
```

Returns a Mojo::URL object for this asset. `$c` need to be a Mojolicious::Controller.

### FROM\_JSON

```
  $self = $self->FROM_JSON($hash_ref);
```

The opposite of "TO\_JSON". Will set the read/write "ATTRIBUTES" from the values in `$hash_ref`.

### TO\_JSON

```
  $hash_ref = $self->FROM_JSON;
```

The opposite of "FROM\_JSON". Will generate a hash ref from "ATTRIBUTES".

## SEE ALSO

Mojolicious::Plugin::AssetPack.
