File Coverage

blib/lib/PRANG/Cookbook/Role/Date.pm
Criterion Covered Total %
statement 4 6 66.6
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 6 8 75.0


line stmt bran cond sub pod time code
1              
2             package PRANG::Cookbook::Role::Date;
3             $PRANG::Cookbook::Role::Date::VERSION = '0.19';
4 1     1   1938 use Moose::Role;
  1         3  
  1         5  
5 1     1   4723 use PRANG::Graph;
  0            
  0            
6             use Moose::Util::TypeConstraints;
7              
8             subtype 'PRANG::Cookbook::Year'
9             => as 'Int',
10             => where {
11             length(0+$_) == 4;
12             };
13              
14             subtype 'PRANG::Cookbook::Month'
15             => as 'Int',
16             => where {
17             $_ >= 1 and $_ <= 12;
18             };
19              
20             subtype 'PRANG::Cookbook::Day'
21             => as 'Int',
22             => where {
23             $_ >= 1 and $_ <= 31;
24             };
25              
26             has_attr 'year' =>
27             is => 'rw',
28             isa => 'PRANG::Cookbook::Year',
29             xml_required => 1,
30             ;
31              
32             has_attr 'month' =>
33             is => 'rw',
34             isa => 'PRANG::Cookbook::Month',
35             xml_required => 1,
36             ;
37              
38             has_attr 'day' =>
39             is => 'rw',
40             isa => 'PRANG::Cookbook::Day',
41             xml_required => 1,
42             ;
43              
44             1;