File Coverage

blib/lib/Plack/Middleware/Class/Refresh.pm
Criterion Covered Total %
statement 21 21 100.0
branch 3 4 75.0
condition 3 3 100.0
subroutine 7 7 100.0
pod 1 1 100.0
total 35 36 97.2


line stmt bran cond sub pod time code
1             package Plack::Middleware::Class::Refresh;
2             BEGIN {
3 1     1   196185 $Plack::Middleware::Class::Refresh::VERSION = '0.01';
4             }
5 1     1   9 use strict;
  1         3  
  1         29  
6 1     1   6 use warnings;
  1         1  
  1         34  
7 1     1   1171 use Plack::Util::Accessor 'verbose';
  1         576  
  1         8  
8             # ABSTRACT: Refresh your app classes with Class::Refresh before requests
9              
10 1     1   1952 use Class::Refresh;
  1         71348  
  1         8  
11              
12 1     1   42 use base 'Plack::Middleware';
  1         2  
  1         1044  
13              
14              
15             sub call {
16 4     4 1 36599 my $self = shift;
17              
18 4 100 100     21 if ($self->verbose && (my @changed = Class::Refresh->modified_modules)) {
19 1 50       5792 warn ((@changed > 1
20             ? "Classes " . join(', ', @changed) . " have"
21             : "Class $changed[0] has")
22             . " been changed, refreshing");
23             }
24              
25 4         6593 Class::Refresh->refresh;
26              
27 4         13237 $self->app->(@_);
28             }
29              
30              
31             1;
32              
33             __END__