File Coverage

blib/lib/POOF/Exception.pm
Criterion Covered Total %
statement 29 32 90.6
branch n/a
condition n/a
subroutine 9 12 75.0
pod 1 3 33.3
total 39 47 82.9


line stmt bran cond sub pod time code
1             package POOF::Exception;
2              
3 1     1   872 use 5.007;
  1         3  
  1         104  
4 1     1   8 use strict;
  1         2  
  1         90  
5 1     1   6 use warnings;
  1         1  
  1         36  
6 1     1   7 use base qw(POOF);
  1         2  
  1         734  
7 1     1   7 use Carp qw(confess croak);
  1         2  
  1         130  
8              
9             our $VERSION = '1.0';
10              
11             #-------------------------------------------------------------------------------
12             # Properties: Core
13              
14             sub code : Property Public Virtual
15             {
16             {
17 0     0 1 0 'type' => 'integer',
18             'min' => 1,
19             'groups' => [qw(Init)],
20             }
21 1     1   6 }
  1         1  
  1         7  
22              
23             sub description : Property Public Virtual
24             {
25             {
26 0     0 0 0 'type' => 'string',
27             'regex' => qr/\b[^ ]+\b/,
28             'groups' => [qw(Init)],
29             }
30 1     1   252 }
  1         2  
  1         5  
31              
32             sub value : Property Public Virtual
33             {
34             {
35 0     0 0 0 'type' => 'string',
36             'default' => undef,
37             'null' => 1,
38             'groups' => [qw(Init)],
39             }
40 1     1   146 }
  1         2  
  1         4  
41              
42             #-------------------------------------------------------------------------------
43             # Methods: initialization
44              
45             sub _init
46             {
47 1     1   2 my $obj = shift;
48 1         7 my %args = $obj->SUPER::_init( @_ );
49              
50             # poplulate known form properties passed to the constructor if they are defined
51 1         7 @{$obj}{ $obj->pGroup('Init') } = @args{ $obj->pGroup('Init') };
  1         7  
52              
53 1         8 return (%args);
54             }
55              
56              
57             1;
58             __END__