NAME
Mojo::Path - Path
SYNOPSIS
use Mojo::Path;
my $path = Mojo::Path->new('/foo/bar%3B/baz.html');
shift @{$path->parts};
say $path;
DESCRIPTION
Mojo::Path is a container for URL paths.
ATTRIBUTES
Mojo::Path implements the following attributes.
leading_slash
my $leading_slash = $path->leading_slash;
$path = $path->leading_slash(1);
Path has a leading slash.
parts
my $parts = $path->parts;
$path = $path->parts([qw/foo bar baz/]);
The path parts.
trailing_slash
my $trailing_slash = $path->trailing_slash;
$path = $path->trailing_slash(1);
Path has a trailing slash.
METHODS
Mojo::Path inherits all methods from Mojo::Base and implements the following new ones.
new
my $path = Mojo::Path->new;
my $path = Mojo::Path->new('/foo/bar%3B/baz.html');
Construct a new Mojo::Path object.
canonicalize
$path = $path->canonicalize;
Canonicalize path.
# "/foo/baz"
say Mojo::Path->new('/foo/bar/../baz')->canonicalize;
clone
my $clone = $path->clone;
Clone path.
contains
my $success = $path->contains('/foo');
Check if path contains given prefix. Note that this method is EXPERIMENTAL and might change without warning!
# True
Mojo::Path->new('/foo/bar')->contains('/');
Mojo::Path->new('/foo/bar')->contains('/foo');
Mojo::Path->new('/foo/bar')->contains('/foo/bar');
# False
Mojo::Path->new('/foo/bar')->contains('/f');
Mojo::Path->new('/foo/bar')->contains('/bar');
Mojo::Path->new('/foo/bar')->contains('/whatever');
parse
$path = $path->parse('/foo/bar%3B/baz.html');
Parse path.
to_abs_string
my $string = $path->to_abs_string;
Turn path into an absolute string. Note that this method is EXPERIMENTAL and might change without warning!
to_string
my $string = $path->to_string;
Turn path into a string.