[Catalyst-commits] r12511 - in Catalyst-Plugin-Static-Simple/trunk: . lib/Catalyst/Plugin/Static t

t0m at dev.catalyst.perl.org t0m at dev.catalyst.perl.org
Sun Jan 3 14:36:38 GMT 2010


Author: t0m
Date: 2010-01-03 14:36:38 +0000 (Sun, 03 Jan 2010)
New Revision: 12511

Modified:
   Catalyst-Plugin-Static-Simple/trunk/Changes
   Catalyst-Plugin-Static-Simple/trunk/lib/Catalyst/Plugin/Static/Simple.pm
   Catalyst-Plugin-Static-Simple/trunk/t/12check_error_scope.t
Log:
Switch to being a Moose role

Modified: Catalyst-Plugin-Static-Simple/trunk/Changes
===================================================================
--- Catalyst-Plugin-Static-Simple/trunk/Changes	2010-01-03 13:26:12 UTC (rev 12510)
+++ Catalyst-Plugin-Static-Simple/trunk/Changes	2010-01-03 14:36:38 UTC (rev 12511)
@@ -1,5 +1,9 @@
 Revision history for Perl extension Catalyst::Plugin::Static::Simple
 
+        - Switch to being a Moose role, removing dependencies on
+          Class::Data::Inheritable and Class::Accessor (Andrey Kostenko in
+          RT#51089)
+
 0.26   2009-12-06 12:30:00
         - Fix Pod to show less nasty method of assigning config by calling
           the config method with parameters, rather than poking around inside

Modified: Catalyst-Plugin-Static-Simple/trunk/lib/Catalyst/Plugin/Static/Simple.pm
===================================================================
--- Catalyst-Plugin-Static-Simple/trunk/lib/Catalyst/Plugin/Static/Simple.pm	2010-01-03 13:26:12 UTC (rev 12510)
+++ Catalyst-Plugin-Static-Simple/trunk/lib/Catalyst/Plugin/Static/Simple.pm	2010-01-03 14:36:38 UTC (rev 12511)
@@ -1,8 +1,6 @@
 package Catalyst::Plugin::Static::Simple;
 
-use strict;
-use warnings;
-use base qw/Class::Accessor::Fast Class::Data::Inheritable/;
+use Moose::Role;
 use File::stat;
 use File::Spec ();
 use IO::File ();
@@ -11,9 +9,10 @@
 
 our $VERSION = '0.26';
 
-__PACKAGE__->mk_accessors( qw/_static_file _static_debug_message/ );
+has _static_file => ( is => 'rw' );
+has _static_debug_message => ( is => 'rw', isa => 'Str' );
 
-sub prepare_action {
+before prepare_action => sub {
     my $c = shift;
     my $path = $c->req->path;
     my $config = $c->config->{static};
@@ -58,11 +57,9 @@
         # and does it exist?
         $c->_locate_static_file( $path );
     }
+};
 
-    return $c->next::method(@_);
-}
-
-sub dispatch {
+override dispatch => sub {
     my $c = shift;
 
     return if ( $c->res->status != 200 );
@@ -74,21 +71,19 @@
         return $c->_serve_static;
     }
     else {
-        return $c->next::method(@_);
+        return super;
     }
-}
+};
 
-sub finalize {
+before finalize => sub {
     my $c = shift;
 
     # display all log messages
     if ( $c->config->{static}{debug} && scalar @{$c->_debug_msg} ) {
         $c->log->debug( 'Static::Simple: ' . join q{ }, @{$c->_debug_msg} );
     }
+};
 
-    return $c->next::method(@_);
-}
-
 sub setup {
     my $c = shift;
 

Modified: Catalyst-Plugin-Static-Simple/trunk/t/12check_error_scope.t
===================================================================
--- Catalyst-Plugin-Static-Simple/trunk/t/12check_error_scope.t	2010-01-03 13:26:12 UTC (rev 12510)
+++ Catalyst-Plugin-Static-Simple/trunk/t/12check_error_scope.t	2010-01-03 14:36:38 UTC (rev 12511)
@@ -9,19 +9,21 @@
 use lib "$FindBin::Bin/lib";
 
 use Test::More tests => 3;
+BEGIN {
+    use Catalyst::Plugin::Static::Simple;
+    Catalyst::Plugin::Static::Simple->meta->add_before_method_modifier(
+        'prepare_action',
+        sub {
+            my ($c) = @_;
+            eval { die("FOO"); };
+
+            ok( $@, '$@ has a value.' );
+        }
+    );
+}
 use Catalyst::Test 'TestApp';
 
-TestApp->config->{ static }->{ dirs } = [ qr{stuff/} ];
-my $orig_sub = *Catalyst::Plugin::Static::Simple::prepare_action{CODE};
+TestApp->config->{static}->{dirs} = [qr{stuff/}];
 
-*Catalyst::Plugin::Static::Simple::prepare_action = sub {
-	my ($c) = @_;
-
-	eval { die("FOO"); };
-
-	ok ($@, '$@ has a value.');
-	return $orig_sub->( $c );
-};
-
 ok( my $res = request("http://localhost/"), 'request ok' );
 ok( $res->code == 200, q{Previous error doesn't crash static::simple} );




More information about the Catalyst-commits mailing list