Huge rewrite of the code: $session->get, ->set etc. do not read from
[catagits/Web-Session.git] / lib / Plack / Session / Store / Cache.pm
index 2fc5a39..3a2397e 100644 (file)
@@ -2,7 +2,7 @@ package Plack::Session::Store::Cache;
 use strict;
 use warnings;
 
-our $VERSION   = '0.01';
+our $VERSION   = '0.03';
 our $AUTHORITY = 'cpan:STEVAN';
 
 use Scalar::Util qw[ blessed ];
@@ -24,31 +24,13 @@ sub new {
 }
 
 sub fetch {
-    my ($self, $session_id, $key) = @_;
-    my $cache = $self->cache->get($session_id);
-    return unless $cache;
-    return $cache->{ $key };
+    my ($self, $session_id ) = @_;
+    $self->cache->get($session_id);
 }
 
 sub store {
-    my ($self, $session_id, $key, $data) = @_;
-    my $cache = $self->cache->get($session_id);
-    if ( !$cache ) {
-        $cache = {$key => $data};
-    }
-    else {
-        $cache->{$key} = $data;
-    }
-    $self->cache->set($session_id => $cache);
-}
-
-sub delete {
-    my ($self, $session_id, $key) = @_;
-    my $cache = $self->cache->get($session_id);
-    return unless exists $cache->{$key};
-
-    delete $cache->{ $key };
-    $self->cache->set($session_id => $cache);
+    my ($self, $session_id, $session) = @_;
+    $self->cache->set($session_id => $session->dump);
 }
 
 sub cleanup {
@@ -56,11 +38,6 @@ sub cleanup {
     $self->cache->remove($session_id);
 }
 
-sub dump_session {
-    my ($self, $session_id) = @_;
-    $self->cache->get( $session_id ) || {};
-}
-
 1;
 
 __END__