1 package MooseX::Types::UUID;
5 use MooseX::Types -declare => ['UUID'];
6 use MooseX::Types::Moose qw(Str);
10 return $str =~ /^[A-F0-9]{8}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{12}$/;
14 as Str, where { _validate_uuid($_) };
17 # i've never seen lowercase UUIDs, but someone's bound to try it
26 MooseX::Types::UUID - UUID type for Moose classes
32 use MooseX::Types::UUID qw(UUID);
34 has 'uuid' => ( is => 'ro', isa => UUID );
37 Class->new( uuid => '77C71F92-0EC7-11DD-B986-DF138EE79F6F' );
41 This module lets you constrain attributes to only contain UUIDs (in
42 their usual human-readable form). No coercion is attempted.
46 None by default, you'll usually want to request C<UUID> explicitly.
50 Jonathan Rockway C<< <jrockway@cpan.org> >>
52 Infinity Interactive (L<http://www.iinteractive.com/>)
56 This program is Free software, you may redistribute it under the same