File Coverage

blib/lib/Dancer2/Plugin/FormValidator/Factory/Extensions.pm
Criterion Covered Total %
statement 25 25 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod 0 1 0.0
total 32 33 96.9


line stmt bran cond sub pod time code
1              
2             use strict;
3 10     10   67 use warnings;
  10         23  
  10         284  
4 10     10   48  
  10         23  
  10         229  
5             use Moo;
6 10     10   52 use Module::Load qw(autoload);
  10         22  
  10         170  
7 10     10   3881 use Types::Standard qw(InstanceOf HashRef);
  10         926  
  10         106  
8 10     10   765 use namespace::clean;
  10         21  
  10         94  
9 10     10   9602  
  10         23  
  10         133  
10             has plugin => (
11             is => 'ro',
12             isa => InstanceOf['Dancer2::Plugin::FormValidator'],
13             );
14              
15             has extensions => (
16             is => 'ro',
17             isa => HashRef,
18             );
19              
20             my ($self) = @_;
21              
22 10     10 0 35 my @extensions = map {
23             my $extension = $self->extensions->{$_}->{provider};
24             autoload $extension;
25 1         5  
26 1         5 $extension->new(
27             plugin => $self->plugin,
28             config => $self->extensions->{$_},
29             );
30 1         91 } keys %{ $self->extensions };
31              
32 10         26 return \@extensions;
  10         71  
33             }
34 10         1701  
35             1;