Skip Menu |

This queue is for tickets about the Catalyst-Plugin-Static-Simple CPAN distribution.

Report information
The Basics
Id: 51089
Status: resolved
Priority: 0/
Queue: Catalyst-Plugin-Static-Simple

People
Owner: bobtfish [...] bobtfish.net
Requestors: andrey [...] kostenko.name
Cc:
AdminCc:

Bug Information
Severity: Unimportant
Broken in: (no value)
Fixed in: (no value)



Class::Data::Inheritable Can you switch to Moose or Class::Accessor::Grouped? Nobody uses this deprecated module and it is not a dependency for your module.
Yes, you're right. It doesn't need Class::Data::Inheritable at all, and could/should use Moose for the accessors anyway. Patch to fix both of these things would be welcome: http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Plugin-Static-Simple/trunk/ Cheers t0m
Втр. Ноя. 24 05:07:16 2009, BOBTFISH писал: Show quoted text
> Yes, you're right. It doesn't need Class::Data::Inheritable at all, > and > could/should use Moose for the accessors anyway. > > Patch to fix both of these things would be welcome: > http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Plugin-Static- > Simple/trunk/ > > Cheers > t0m
Index: t/12check_error_scope.t =================================================================== --- t/12check_error_scope.t (revision 12002) +++ t/12check_error_scope.t (working copy) @@ -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}; - -*Catalyst::Plugin::Static::Simple::prepare_action = sub { - my ($c) = @_; - - eval { die("FOO"); }; - - ok ($@, '$@ has a value.'); - return $orig_sub->( $c ); -}; +TestApp->config->{static}->{dirs} = [qr{stuff/}]; ok( my $res = request("http://localhost/"), 'request ok' ); ok( $res->code == 200, q{Previous error doesn't crash static::simple} ); Index: lib/Catalyst/Plugin/Static/Simple.pm =================================================================== --- lib/Catalyst/Plugin/Static/Simple.pm (revision 12002) +++ lib/Catalyst/Plugin/Static/Simple.pm (working copy) @@ -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,20 +71,18 @@ 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;
What about Moose? Втр. Ноя. 24 10:31:13 2009, GUGU писал: Show quoted text
> Втр. Ноя. 24 05:07:16 2009, BOBTFISH писал:
> > Yes, you're right. It doesn't need Class::Data::Inheritable at all, > > and > > could/should use Moose for the accessors anyway. > > > > Patch to fix both of these things would be welcome: > > http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Plugin-Static- > > Simple/trunk/ > > > > Cheers > > t0m
> >
Thanks for the patch :)

I've incorporated it with a few changes into the 0.27 release which is going to CPAN currently.

Cheers
t0m