yay. works
[gitmo/MooseX-Types-Data-GUID.git] / lib / MooseX / Types / Data / GUID.pm
CommitLineData
63491692 1package MooseX::Types::Data::GUID;
2
3use strict;
4use warnings;
5
58cb6e63 6our $VERSION = '0.001000';
7
63491692 8use Data::GUID;
9use MooseX::Types -declare => [qw/ GUID /];
10use Moose::Util::TypeConstraints;
11
12class_type 'Data::GUID';
13subtype GUID, as 'Data::GUID';
14
15coerce 'Data::GUID' =>
16 from Str => via { Data::GUID->from_any_string($_) };
17
18coerce GUID,
19 from Str => via { Data::GUID->from_any_string($_) };
20
211;
22
23__END__;
24
25=head1 NAME
26
27MooseX::Types::Data::GUID - L<Data::GUID> related constraints and coercions for
28Moose
29
30=head1 SYNOPSIS
31
32Export Example:
33
34 use MooseX::Types::Data::GUID qw(TimeZone);
35
36 has guid => (
37 isa => GUID,
38 is => "rw",
39 coerce => 1,
40 );
41
42 Class->new( guid => "C6A9FE9A-72FE-11DD-B3B4-B2EC1DADD46B");
43
44Namespaced Example:
45
46 use MooseX::Types::Data::GUID;
47
48 has guid => (
49 isa => 'Data::GUID',
50 is => "rw",
51 coerce => 1,
52 );
53
54 Class->new( guid => "C6A9FE9A-72FE-11DD-B3B4-B2EC1DADD46B");
55
56=head1 DESCRIPTION
57
58This module packages several L<Moose::Util::TypeConstraints> with coercions,
59designed to work with L<Data::GUID>.
60
61=head1 AUTHOR
62
63Guillermo Roditi (groditi) E<lt>groditi@cpan.orgE<gt>
64
65=head1 COPYRIGHT
66
67Copyright (c) 2008 Guillermo Roditi. This program is free software; you can
68redistribute it and/or modify it under the same terms as Perl itself.
69
70=cut