SYNPOSIS
my $asset = File::Asset->new(base => $base, path => "/static/assets.css");
$asset = $assets->include("/static/assets.css"); # Or, like this, usually.
print "The rank for asset at ", $asset->uri, " is ", $asset->rank, "\n";
print "The file for the asset is ", $asset->file, "\n";
DESCRIPTION
A File::Asset object represents an asset existing in both URI-space and file-space (on disk). The asset is usually a .js (JavaScript) or .css (CSS) file.
METHODS
File::Asset->new( base => <base>, path => <path>, [ rank => <rank>, type => <type> ])
Creates a new File::Asset. You probably don't want to use this, create a File::Assets object and use $assets->include instead.
$asset->uri
Returns a URI object represting the uri for $asset
$asset->file
Returns a Path::Class::File object represting the file for $asset
$asset->path
Returns the path of $asset
$asset->content
Returns a SCALAR reference to the content contained in $asset->file
$asset->write( <content> )
Writes <content>, which should be a SCALAR reference, to the file located at $asset->file
If the parent directory for $asset->file does not exist yet, this method will create it first
$asset->digest
Returns a hex digest for the content of $asset
$asset->key
Returns the unique key for the $asset. Usually the path/filename of the $asset, but for content-based assets returns a value based off of $asset->digest
$asset->hide
Hide $asset (mark it as hidden). That is, don't include $asset during export
$asset->inline
Returns whether $asset is inline (should be embedded into the document) or external.
If an argument is given, then it will set whether $asset is inline or not (1 for inline, 0 for external).