File Coverage

blib/lib/Stepford/Types/Internal.pm
Criterion Covered Total %
statement 24 24 100.0
branch n/a
condition n/a
subroutine 8 8 100.0
pod n/a
total 32 32 100.0


line stmt bran cond sub pod time code
1             package Stepford::Types::Internal;
2              
3 43     43   23077 use strict;
  43         102  
  43         1216  
4 43     43   224 use warnings;
  43         87  
  43         1725  
5              
6             our $VERSION = '0.006000';
7              
8 43     43   18880 use MooseX::Types::Common::String qw( NonEmptyStr );
  43         3918152  
  43         267  
9 43     43   120481 use MooseX::Types::Moose qw( ArrayRef Str );
  43         112  
  43         301  
10 43     43   197235 use Moose::Util::TypeConstraints qw( enum );
  43         106  
  43         434  
11              
12 43         292 use MooseX::Types -declare => [
13             qw(
14             ArrayOfClassPrefixes
15             ArrayOfDependencies
16             ArrayOfSteps
17             Logger
18             PossibleClassName
19             Step
20             )
21 43     43   18770 ];
  43         96  
22              
23 43     43   279875 use namespace::clean;
  43         95  
  43         318  
24              
25             subtype PossibleClassName, as Str, inline_as {
26             ## no critic (Subroutines::ProtectPrivateSubs)
27             $_[0]->parent->_inline_check( $_[1] ) . ' && '
28             . $_[1]
29             . ' =~ /^\\p{L}\\w*(?:::\\w+)*$/';
30             };
31              
32             subtype ArrayOfClassPrefixes, as ArrayRef [PossibleClassName], inline_as {
33             ## no critic (Subroutines::ProtectPrivateSubs)
34             $_[0]->parent->_inline_check( $_[1] ) . " && \@{ $_[1] } >= 1";
35             };
36              
37             coerce ArrayOfClassPrefixes, from PossibleClassName, via { [$_] };
38              
39             subtype ArrayOfDependencies, as ArrayRef [NonEmptyStr];
40              
41             coerce ArrayOfDependencies, from NonEmptyStr, via { [$_] };
42              
43             duck_type Logger, [qw( debug info notice warning error )];
44              
45             role_type Step, { role => 'Stepford::Role::Step' };
46              
47             subtype ArrayOfSteps, as ArrayRef [Step];
48              
49             coerce ArrayOfSteps, from Step, via { [$_] };
50              
51 43     43   36036 no Moose::Util::TypeConstraints;
  43         133  
  43         595  
52              
53             1;
54              
55             # ABSTRACT: Internal type definitions for Stepford
56              
57             __END__
58              
59             =pod
60              
61             =encoding UTF-8
62              
63             =head1 NAME
64              
65             Stepford::Types::Internal - Internal type definitions for Stepford
66              
67             =head1 VERSION
68              
69             version 0.006000
70              
71             =head1 SUPPORT
72              
73             Bugs may be submitted through L<https://github.com/maxmind/Stepford/issues>.
74              
75             =head1 AUTHOR
76              
77             Dave Rolsky <drolsky@maxmind.com>
78              
79             =head1 COPYRIGHT AND LICENSE
80              
81             This software is copyright (c) 2014 - 2019 by MaxMind, Inc.
82              
83             This is free software; you can redistribute it and/or modify it under
84             the same terms as the Perl 5 programming language system itself.
85              
86             =cut