File Coverage

blib/lib/Dancer2/Plugin/FormValidator/Config.pm
Criterion Covered Total %
statement 31 31 100.0
branch 2 4 50.0
condition 7 8 87.5
subroutine 12 12 100.0
pod 0 1 0.0
total 52 56 92.8


line stmt bran cond sub pod time code
1              
2             use strict;
3 17     17   798646 use warnings;
  17         68  
  17         828  
4 17     17   84  
  17         29  
  17         379  
5             use Moo;
6 17     17   3260 use Carp;
  17         41912  
  17         79  
7 17     17   11457 use Types::Standard qw(HashRef Bool);
  17         35  
  17         991  
8 17     17   3609 use Types::Common::String qw(NonEmptyStr);
  17         626326  
  17         203  
9 17     17   21642 use namespace::clean;
  17         633575  
  17         174  
10 17     17   14958  
  17         179130  
  17         110  
11             has config => (
12             is => 'ro',
13             isa => HashRef,
14             required => 1,
15             );
16              
17             has session => (
18             is => 'ro',
19             isa => HashRef,
20             required => 1,
21             );
22              
23             has session_namespace => (
24             is => 'ro',
25             isa => NonEmptyStr,
26             required => 1,
27             );
28              
29             has messages => (
30             is => 'ro',
31             isa => HashRef,
32             required => 1,
33             builder => sub {
34             return $_[0]->config->{messages} // {};
35 17   100 17   959 }
36             );
37              
38             has messages_validators => (
39             is => 'ro',
40             isa => HashRef,
41             required => 1,
42             builder => sub {
43             return $_[0]->messages->{validators} // {};
44 17   100 17   649 }
45             );
46              
47             has ucfirst => (
48             is => 'ro',
49             isa => Bool,
50             lazy => 1,
51             builder => sub {
52             return $_[0]->messages->{ucfirst} // 1;
53 12   50 12   549 }
54             );
55              
56             has language => (
57             is => 'rw',
58             isa => NonEmptyStr,
59             lazy => 1,
60             builder => sub {
61             return $_[0]->messages->{language} // 'en';
62 11   100 11   476 }
63             );
64              
65             my ($self, %args) = @_;
66              
67 17     17 0 64816 if (my $config = $args{config}) {
68             if (my $session = $config->{session}) {
69 17 50       82 $args{session} = $session;
70 17 50       71 $args{session_namespace} = $session->{namespace};
71 17         48 }
72 17         80 }
73              
74             return \%args;
75             }
76 17         270  
77             1;