foo
Yuval Kogman [Tue, 31 Jul 2007 15:06:46 +0000 (15:06 +0000)]
lib/Catalyst/Plugin/Cache.pm
t/config_backend_class.t

index 8b8fb71..78fe084 100644 (file)
@@ -6,7 +6,7 @@ use base qw/Class::Data::Inheritable Class::Accessor::Fast/;
 use strict;
 use warnings;
 
-our $VERSION = "0.03";
+our $VERSION = "0.04";
 
 use Scalar::Util ();
 use Catalyst::Utils ();
@@ -81,7 +81,11 @@ sub setup_generic_cache_backend {
     my %config = %$config;
 
     if ( my $class = delete $config{class} ) {
-        $app->setup_cache_backend_by_class( $name, $class, \%config );
+        eval { $app->setup_cache_backend_by_class( $name, $class, %config ) }
+            ||
+        eval { $app->setup_cache_backend_by_class( $name, $class, \%config ) }
+            ||
+        die "Couldn't construct $class with either list style or hash ref style param passing: $@";
     } elsif ( my $store = delete $config->{store} || $app->default_cache_store ) {
         my $method = lc("setup_${store}_cache_backend");
 
index 2ba772d..82812d2 100644 (file)
@@ -14,6 +14,7 @@ use ok "Catalyst::Plugin::Cache";
     package MyCache;
     sub new {
         my ( $class, $p ) = @_;
+        die unless ref $p;
         bless { %$p }, $class;
     }
     sub get {}