Checking in changes prior to tagging of version 0.11. Changelog diff is:
[catagits/Web-Session.git] / lib / Plack / Session / Store.pm
index 572730b..fe13773 100644 (file)
@@ -2,6 +2,9 @@ package Plack::Session::Store;
 use strict;
 use warnings;
 
+our $VERSION   = '0.11';
+our $AUTHORITY = 'cpan:STEVAN';
+
 use Plack::Util::Accessor qw[ _stash ];
 
 sub new {
@@ -11,30 +14,20 @@ sub new {
 }
 
 sub fetch {
-    my ($self, $session_id, $key) = @_;
-    $self->_stash->{ $session_id }->{ $key }
+    my ($self, $session_id) = @_;
+    $self->_stash->{ $session_id };
 }
 
 sub store {
-    my ($self, $session_id, $key, $data) = @_;
-    $self->_stash->{ $session_id }->{ $key } = $data;
+    my ($self, $session_id, $session) = @_;
+    $self->_stash->{ $session_id } = $session;
 }
 
-sub delete {
-    my ($self, $session_id, $key) = @_;
-    delete $self->_stash->{ $session_id }->{ $key };
-}
-
-sub cleanup {
+sub remove {
     my ($self, $session_id) = @_;
     delete $self->_stash->{ $session_id }
 }
 
-sub persist {
-    my ($self, $session_id, $response) = @_;
-    ()
-}
-
 1;
 
 __END__
@@ -84,16 +77,14 @@ No parameters are expected to this constructor.
 
 =head2 Session Data Management
 
-These methods fetch data from the session storage. It can only fetch,
-store or delete a single key at a time.
+These methods fetch data from the session storage. It's designed to
+store or delete multiple keys at a time.
 
 =over 4
 
-=item B<fetch ( $session_id, $key )>
-
-=item B<store ( $session_id, $key, $data )>
+=item B<fetch ( $session_id )>
 
-=item B<delete ( $session_id, $key )>
+=item B<store ( $session_id, $session )>
 
 =back
 
@@ -101,14 +92,7 @@ store or delete a single key at a time.
 
 =over 4
 
-=item B<persist ( $session_id, $response )>
-
-This method will perform any data persistence nessecary to maintain
-data across requests. This method is called by the L<Plack::Session>
-C<finalize> method. The C<$response> is expected to be a L<Plack::Response>
-instance or an object with an equivalent interface.
-
-=item B<cleanup ( $session_id )>
+=item B<remove ( $session_id )>
 
 This method is called by the L<Plack::Session> C<expire> method and
 is used to remove any session data.
@@ -127,7 +111,7 @@ Stevan Little E<lt>stevan.little@iinteractive.comE<gt>
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 2009 Infinity Interactive, Inc.
+Copyright 2009, 2010 Infinity Interactive, Inc.
 
 L<http://www.iinteractive.com>