File Coverage

blib/lib/Kelp/Module/Symbiosis/_Util.pm
Criterion Covered Total %
statement 24 24 100.0
branch 1 2 50.0
condition 3 5 60.0
subroutine 5 5 100.0
pod 0 2 0.0
total 33 38 86.8


line stmt bran cond sub pod time code
1             package Kelp::Module::Symbiosis::_Util;
2              
3             our $VERSION = '1.12';
4              
5 6     6   83 use v5.10;
  6         23  
6 6     6   35 use warnings;
  6         75  
  6         200  
7 6     6   59 use Plack::Util;
  6         13  
  6         1511  
8              
9             sub wrap
10             {
11 47     47 0 916 my ($self, $app) = @_;
12              
13 47         75 for (@{$self->middleware}) {
  47         135  
14 8         68 my ($class, $args) = @$_;
15              
16             # Same middleware loading procedure as Kelp
17 8 50 66     48 next if $self->{_loaded_middleware}{$class}++ && !$ENV{KELP_TESTING};
18              
19 8         38 my $mw = Plack::Util::load_class($class, "Plack::Middleware");
20 8   50     2837 $app = $mw->wrap($app, %{$args // {}});
  8         98  
21             }
22              
23 47         626 return $app;
24             }
25              
26             sub load_middleware
27             {
28 14     14 0 37 my ($self, %args) = @_;
29              
30 14         50 my $middleware = $self->middleware;
31 14         26 foreach my $mw (@{$args{middleware}}) {
  14         37  
32 3         8 my $config = $args{middleware_init}{$mw};
33 3         11 push @$middleware, [$mw, $config];
34             }
35              
36 14         41 return;
37             }
38              
39             1;