File Coverage

blib/lib/Plack/Middleware/Conditional.pm
Criterion Covered Total %
statement 14 14 100.0
branch 2 2 100.0
condition n/a
subroutine 5 5 100.0
pod 2 2 100.0
total 23 23 100.0


line stmt bran cond sub pod time code
1             package Plack::Middleware::Conditional;
2 30     30   205 use strict;
  30         58  
  30         1379  
3 30     30   178 use parent qw(Plack::Middleware);
  30         51  
  30         196  
4              
5 30     30   1670 use Plack::Util::Accessor qw( condition middleware builder );
  30         53  
  30         137  
6              
7             sub prepare_app {
8 5     5 1 11 my $self = shift;
9 5         29 $self->middleware( $self->builder->($self->app) );
10             }
11              
12             sub call {
13 13     13 1 34 my($self, $env) = @_;
14              
15 13 100       50 my $app = $self->condition->($env) ? $self->middleware : $self->app;
16 13         54 return $app->($env);
17             }
18              
19             1;
20              
21             __END__