The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

MouseX::Types::URI - A URI type library for Mouse

SYNOPSIS

CLASS TYPES

package MyApp; use Mouse; use MouseX::Types::URI;

has 'uri' => ( is => 'rw', isa => 'URI', coerce => 1, );

has 'data' => ( is => 'rw', isa => 'URI::data', coerce => 1, );

has 'file' => ( is => 'rw', isa => 'URI::file', coerce => 1, );

CUSTOM TYPES

package MyApp; use Mouse; use MouseX::Types::URI qw(Uri DataUri FileUri);

has 'uri' => ( is => 'rw', isa => Uri, coerce => 1, );

has 'data' => ( is => 'rw', isa => DataUri, coerce => 1, );

has 'file' => ( is => 'rw', isa => FileUri, coerce => 1, );

DESCRIPTION

MouseX::Types::URI creates common Mouse types, coercions and option specifications useful for dealing with URIs as Mouse attributes.

Coercions (see Mouse::Util::TypeConstraints) are made from Str, ScalarRef, HashRef, Path::Class::Dir and Path::Class::File to URI, URI::data and URI::file objects.

TYPES

Uri

Either URI or URI::WithBase.

Coerces from Str via L.

Coerces from Path::Class::File and Path::Class::Dir via L.

Coerces from ScalarRef via L.

Coerces from HashRef using URI::FromHash.

DataUri

A URI whose scheme is data.

Coerces from Str and ScalarRef via L.

FileUri

A URI::file class type.

Coerces from Str, Path::Class::File and Path::Class::Dir via L

AUTHOR

NAKAGAWA Masaki masaki@cpan.org

THANKS TO

Yuval Kogman, L

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Mouse, MouseX::Types,

URI, URI::data, URI::file, URI::WithBase, URI::FromHash,

MooseX::Types::URI