NAME
Storage::Abstract::Driver::Subpath - Change root metadriver
SYNOPSIS
# general file storage
my $storage = Storage::Abstract->new(
driver => 'directory',
directory => '/some/directory',
);
# subpath of the file storage for public files
my $public_storage = Storage::Abstract->new(
driver => 'subpath',
source => $storage,
subpath => '/public',
);
# these calls will return the same file
my $fh1 = $storage->retrieve('/public/file');
my $fh2 = $public_storage->retrieve('/file');
DESCRIPTION
This metadriver can modify another driver to use a different path than root. It will work as if the root of the "source" driver was changed to "subpath".
It is impossible (as intended) to get files outside the "subpath" using this driver.
CUSTOM INTERFACE
Attributes
source
Required - A Storage::Abstract instance. It can be coerced from a hash reference, which will be used to call "new" in Storage::Abstract.
subpath
Required - A path prefix for all paths passed to the "source" driver.