X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FHelper.pm;h=7ed7b5b7d4b3b7713f766af4f2e1f34af69b893f;hb=219b019151f23cf468dc1a08b64da92234abe92d;hp=32d28583d3cdaf899c5ec6f317ac75e528b02067;hpb=3d5bb03e9c02fb0b12f4c7a0eddedab4537e7be7;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Helper.pm b/lib/Catalyst/Helper.pm index 32d2858..7ed7b5b 100644 --- a/lib/Catalyst/Helper.pm +++ b/lib/Catalyst/Helper.pm @@ -9,6 +9,7 @@ use IO::File; use FindBin; use Template; use Catalyst; +use Catalyst::Exception; my %cache; @@ -102,7 +103,13 @@ sub mk_component { my @args = @_; my $class = "Catalyst::Helper::$helper"; eval "require $class"; - die qq/Couldn't load helper "$class", "$@"/ if $@; + + if ( $@ ) { + Catalyst::Exception->throw( + message => qq/Couldn't load helper "$class", "$@"/ + ); + } + if ( $class->can('mk_stuff') ) { return 1 unless $class->mk_stuff( $self, @args ); } @@ -145,7 +152,13 @@ sub mk_component { $comp = 'Controller' if $type eq 'C'; my $class = "Catalyst::Helper::$comp\::$helper"; eval "require $class"; - die qq/Couldn't load helper "$class", "$@"/ if $@; + + if ( $@ ) { + Catalyst::Exception->throw( + message => qq/Couldn't load helper "$class", "$@"/ + ); + } + if ( $class->can('mk_compclass') ) { return 1 unless $class->mk_compclass( $self, @args ); } @@ -182,7 +195,10 @@ sub mk_dir { print qq/created "$dir"\n/; return 1; } - die qq/Couldn't create "$dir", "$!"/; + + Catalyst::Exception->throw( + message => qq/Couldn't create "$dir", "$!"/ + ); } =head3 mk_file @@ -202,7 +218,10 @@ sub mk_file { print qq/created "$file"\n/; return 1; } - die qq/Couldn't create "$file", "$!"/; + + Catalyst::Exception->throw( + message => qq/Couldn't create "$file", "$!"/ + ); } =head3 next_test @@ -220,7 +239,7 @@ sub next_test { $tname = $prefix . '.t'; $self->{prefix} = $prefix; $prefix = lc $prefix; - $prefix =~ s/-/\//g + $prefix =~ s/-/\//g; $self->{uri} = $prefix; } my $dir = $self->{test_dir}; @@ -411,13 +430,13 @@ __appclass__ package [% name %]; use strict; -use Catalyst qw/-Debug/; +use base 'Catalyst'; our $VERSION = '0.01'; [% name %]->config( name => '[% name %]' ); -[% name %]->setup; +[% name %]->setup( qw/-Debug/ ); =head1 NAME @@ -811,7 +830,6 @@ sub default : Private { } =back - [% END %] =head1 AUTHOR