summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2011-06-22 12:02:03 -0500
committerJesse Luehrs <doy@tozt.net>2011-06-22 12:02:03 -0500
commit3669b3d498f2f6224b8dc8cdc8cfcca1c0165611 (patch)
treebc877d68dde1228eecd2978f6992d95ade4d4c71 /lib
parent51cc7663854af4760274c378c339e16a8eff65ab (diff)
downloadplack-middleware-class-refresh-3669b3d498f2f6224b8dc8cdc8cfcca1c0165611.tar.gz
plack-middleware-class-refresh-3669b3d498f2f6224b8dc8cdc8cfcca1c0165611.zip
initial implementation
Diffstat (limited to 'lib')
-rw-r--r--lib/Plack/Middleware/Class/Refresh.pm22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/Plack/Middleware/Class/Refresh.pm b/lib/Plack/Middleware/Class/Refresh.pm
index e69de29..453e6f1 100644
--- a/lib/Plack/Middleware/Class/Refresh.pm
+++ b/lib/Plack/Middleware/Class/Refresh.pm
@@ -0,0 +1,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;