unquoted Reaction::Types
[catagits/Reaction.git] / lib / Reaction / Types / CreditCard.pm
1 package Reaction::Types::CreditCard;
2
3 use MooseX::Types
4     -declare => [qw/CardNumber CheckNumber/];
5
6 use Reaction::Types::Core qw/NonEmptySimpleStr PositiveInt/;
7 use Business::CreditCard ();
8
9 subtype CardNumber
10     => as NonEmptySimpleStr
11     => where   { Business::CreditCard::validate($_) }
12     => message {"Must be a valid card number"};
13
14 subtype CheckNumber
15   => as PositiveInt
16   => where { $_ <= 999 }
17   => message { "Must be a 3 digits number" };
18
19 1;
20
21 =head1 NAME
22
23 Reaction::Types::CreditCard
24
25 =head1 DESCRIPTION
26
27 =over
28
29 =item * CardNumber
30
31 =back
32
33 =head1 SEE ALSO
34
35 =over
36
37 =item * L<Reaction::Types::Core>
38
39 =back
40
41 =head1 AUTHORS
42
43 See L<Reaction::Class> for authors.
44
45 =head1 LICENSE
46
47 See L<Reaction::Class> for the license.
48
49 =cut