| Path-Dispatcher documentation | Contained in the Path-Dispatcher distribution. |
Path::Dispatcher::Path - path and some optional metadata
my $path = Path::Dispatcher::Path->new(
path => "/REST/Ticket/1",
metadata => {
http_method => "DELETE",
},
);
$path->path; # /REST/Ticket/1
$path->get_metadata("http_method"); # DELETE
A string representing the path. Path::Dispatcher::Path is basically a boxed
string. :)
A hash representing arbitrary metadata. The Path::Dispatcher::Rule::Metadata rule is designed to match against members of this hash.
| Path-Dispatcher documentation | Contained in the Path-Dispatcher distribution. |
package Path::Dispatcher::Path; use Any::Moose; use overload q{""} => sub { shift->path }; has path => ( is => 'ro', isa => 'Str', predicate => 'has_path', ); has metadata => ( is => 'ro', isa => 'HashRef', predicate => 'has_metadata', ); # allow Path::Dispatcher::Path->new($path) sub BUILDARGS { my $self = shift; if (@_ == 1 && !ref($_[0])) { unshift @_, 'path'; } $self->SUPER::BUILDARGS(@_); }; sub clone_path { my $self = shift; my $path = shift; return $self->meta->clone_object($self, path => $path, @_); } sub get_metadata { my $self = shift; my $name = shift; return $self->metadata->{$name}; } __PACKAGE__->meta->make_immutable; no Any::Moose; 1; __END__