support single list during set() for expires
Yuval Kogman [Fri, 23 Feb 2007 15:44:03 +0000 (15:44 +0000)]
lib/Catalyst/Plugin/Cache.pm
lib/Catalyst/Plugin/Cache/Curried.pm

index bc2b7b6..0d6e94f 100644 (file)
@@ -241,8 +241,9 @@ sub choose_cache_backend_wrapper {
 sub choose_cache_backend { shift->NEXT::choose_cache_backend( @_ ) } # a convenient fallback
 
 sub cache_set {
-    my ( $c, $key, $value, @meta ) = @_;
-    $c->choose_cache_backend_wrapper( key =>  $key, value => $value, @meta )->set( $key, $value );
+    my ( $c, $key, $value, %meta ) = @_;
+    $c->choose_cache_backend_wrapper( key =>  $key, value => $value, %meta )
+        ->set( $key, $value, exists $meta{expires} ? $meta{expires} : () );
 }
 
 sub cache_get {
index f09550b..1021f2e 100644 (file)
@@ -31,6 +31,7 @@ sub backend {
 
 sub set {
     my ( $self, $key, $value, @meta ) = @_;
+    @meta = ( expires => $meta[0] ) if @meta == 1;
     $self->c->cache_set( $key, $value, @{ $self->meta }, @meta );
 }