File Coverage

blib/lib/Object/Lazy/Validate.pm
Criterion Covered Total %
statement 15 15 100.0
branch 2 2 100.0
condition n/a
subroutine 6 6 100.0
pod 2 2 100.0
total 25 25 100.0


line stmt bran cond sub pod time code
1             package Object::Lazy::Validate; ## no critic (TidyCode)
2            
3 15     15   106 use strict;
  15         32  
  15         427  
4 15     15   81 use warnings;
  15         33  
  15         615  
5            
6             our $VERSION = '0.12';
7            
8 15     15   8104 use Params::Validate qw(:all);
  15         100702  
  15         5756  
9            
10             sub validate_new { ## no critic (ArgUnpacking)
11 18     18 1 537 return validate_with(
12             params => \@_,
13             spec => [
14             {type => SCALAR},
15             {type => CODEREF | HASHREF},
16             ],
17             stack_skip => 1,
18             );
19             }
20            
21             # check and modify params
22             sub init {
23 18     18 1 44 my $params = shift;
24            
25 18 100       80 if (ref $params eq 'CODE') {
26 8         26 $params = {
27             build => $params,
28             };
29             }
30            
31             return validate_with(
32             params => $params,
33             spec => {
34             build => {type => CODEREF},
35             isa => {type => SCALAR | ARRAYREF, default => []},
36             DOES => {type => SCALAR | ARRAYREF, default => []},
37             VERSION => {type => SCALAR | OBJECT, optional => 1},
38             version_from => {type => SCALAR, optional => 1},
39             logger => {type => CODEREF, optional => 1},
40             ref => {
41             type => SCALAR,
42             optional => 1,
43             callbacks => {
44             'depends use Object::Lazy::Ref' => sub {
45 2     2   44 $Object::Lazy::Ref::VERSION;
46             }
47             }
48             },
49             },
50 18         776 called => 'the 2nd parameter hashref',
51             );
52             };
53            
54             # $Id$
55            
56             1;
57            
58             __END__