summaryrefslogtreecommitdiffstats
path: root/lib/Plack/Middleware/Class/Refresh.pm
blob: 453e6f106675562f6943f2a1ab505430133c8218 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package Plack::Middleware::Class::Refresh;
use strict;
use warnings;
use Plack::Util::Accessor 'verbose';

use Class::Refresh;

use base 'Plack::Middleware';

sub call {
    my $self = shift;

    my @changed = Class::Refresh->modified_modules;
    warn "Classes " . join(', ', @changed) . " have been changed, refreshing"
        if $self->verbose && @changed;

    Class::Refresh->refresh;

    $self->app->(@_);
}

1;