File Coverage

blib/lib/Kelp/Module/FlashMessage.pm
Criterion Covered Total %
statement 17 19 89.4
branch 3 4 75.0
condition 2 2 100.0
subroutine 5 6 83.3
pod 1 1 100.0
total 28 32 87.5


line stmt bran cond sub pod time code
1 2     2   44467 use strict;
  2         5  
  2         65  
2 2     2   12 use warnings;
  2         5  
  2         102  
3             package Kelp::Module::FlashMessage;
4              
5             our $VERSION = 0.04;
6              
7 2     2   12 use parent 'Kelp::Module';
  2         16  
  2         27  
8              
9             sub build {
10 2     2 1 152 my ( $self, %args ) = @_;
11 2   100     15 my $key = $args{'key'} || 'km::flash';
12              
13             $self->register(
14             flash_message => sub {
15 4     4   95080 my ($self, $value) = @_;
16 4 100       31 if( @_ == 1 ) {
    50          
17 2         8 $value = delete $self->req->env->{'psgix.session'}->{$key};
18             }
19             elsif( @_ >= 2 ) {
20 2         11 $self->req->env->{'psgix.session'}->{$key} = $value;
21             }
22 4         45 return $value;
23             },
24              
25             flash_message_present => sub {
26 0     0     my $self = shift;
27 0           return exists $self->req->env->{'psgix.session'}->{$key};
28             }
29 2         22 );
30             }
31              
32             1;
33              
34             __END__