Types::UUID - type constraints for UUIDs
package FroobleStick;
use Moo;
use Types::UUID;
has identifier => (
is => 'lazy',
isa => Uuid,
coerce => 1,
builder => Uuid->generator,
);
the Types::UUID manpage is a type constraint library suitable for use with
Moo/Moose attributes, Kavorka sub signatures, and so forth.
Currently the module only provides one type constraint, which is
exported by default.
- Uuid
-
A valid UUID string, as judged by the
is_uuid_string() function
provided by the UUID::Tiny manpage.
This constraint has coercions from Undef (generates a new UUID),
Str (fixes slightly broken-looking UUIDs, adding missing dashes;
also accepts base-64-encoded UUIDs) and URI objects using the
urn:uuid: URI scheme.
The Uuid type constraint is actually blessed into a subclass of
the Type::Tiny manpage, and provides an aditional method:
- Uuid->generate
-
Generates a new UUID.
Uuid->coerce(undef) would also work, but
looks a little odd.
- Uuid->generator
-
Returns a coderef which generates a new UUID. For an example usage, see
the SYNOPSIS.
Please report any bugs to
http://rt.cpan.org/Dist/Display.html.
the Type::Tiny::Manual manpage, the UUID::Tiny manpage.
Toby Inkster <tobyink@cpan.org>.
This software is copyright (c) 2014 by Toby Inkster.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|