NAME
MouseX::Types::URI - A URI type library for Mouse
SYNOPSIS
CLASS TYPES
package MyApp;
use Mouse;
use MouseX::Types::URI;
with 'MouseX::Getopt'; # optional
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);
with 'MouseX::Getopt'; # optional
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::TypeRegistry) are made from Str
, ScalarRef
, HashRef
, Path::Class::Dir and Path::Class::File to URI, URI::data and URI::file objects.
If you have MouseX::Getopt installed, the Getopt option type ("=s") will be added for URI, URI::data and URI::file.
TYPES
Uri
Either URI or URI::WithBase.
Coerces from Str
via "new" in URI.
Coerces from Path::Class::File and Path::Class::Dir via "new" in URI::file.
Coerces from ScalarRef
via "new" in URI::data.
Coerces from HashRef
using URI::FromHash.
DataUri
A URI whose scheme is data
.
Coerces from Str
and ScalarRef
via "new" in URI::data.
FileUri
A URI::file class type.
Coerces from Str
, Path::Class::File and Path::Class::Dir via "new" in URI::file
AUTHOR
NAKAGAWA Masaki <masaki@cpan.org>
THANKS TO
Yuval Kogman, "AUTHOR" in MooseX::Types::URI
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.