as minimalist as I could possibly be
[catagits/Web-Session.git] / lib / Plack / Session / Store.pm
1 package Plack::Session::Store;
2 use strict;
3 use warnings;
4
5 use Plack::Util::Accessor qw[ _stash ];
6
7 sub new { bless { _stash => {} } => shift }
8
9 sub fetch {
10     my ($self, $session_id, $key) = @_;
11     $self->_stash->{ $session_id }->{ $key }
12 }
13
14 sub store {
15     my ($self, $session_id, $key, $data) = @_;
16     $self->_stash->{ $session_id }->{ $key } = $data;
17 }
18
19 sub delete {
20     my ($self, $session_id, $key) = @_;
21     delete $self->_stash->{ $session_id }->{ $key };
22 }
23
24 sub persist {
25     my ($self, $session_id) = @_;
26     ()
27 }
28
29 sub cleanup {
30     my ($self, $session_id) = @_;
31     delete $self->_stash->{ $session_id }
32 }
33
34 1;