File Coverage

blib/lib/HTTP/Session/Store/OnMemory.pm
Criterion Covered Total %
statement 25 27 92.5
branch 9 10 90.0
condition 2 2 100.0
subroutine 8 9 88.8
pod 5 6 83.3
total 49 54 90.7


line stmt bran cond sub pod time code
1             package HTTP::Session::Store::OnMemory;
2 15     15   37783 use strict;
  15         41  
  15         479  
3 15     15   57 use warnings;
  15         23  
  15         721  
4 15     15   71 use base qw/Class::Accessor::Fast/;
  15         31  
  15         5430  
5              
6             __PACKAGE__->mk_ro_accessors(qw/data/);
7              
8             sub new {
9 21     21 1 1680380 my $class = shift;
10 21 50       92 my %args = ref($_[0]) ? %{$_[0]} : @_;
  0         0  
11             # set default values
12 21   100     112 $args{data} ||= {};
13 21         182 bless {%args}, $class;
14             }
15              
16             sub select {
17 40     40 1 352 my ( $self, $session_id ) = @_;
18 40 100       546 Carp::croak "missing session_id" unless $session_id;
19 38         531 $self->data->{$session_id};
20             }
21              
22             sub insert {
23 30     30 1 2489 my ($self, $session_id, $data) = @_;
24 30 100       368 Carp::croak "missing session_id" unless $session_id;
25 28         416 $self->data->{$session_id} = $data;
26             }
27              
28             sub update {
29 4     4 1 2042 my ($self, $session_id, $data) = @_;
30 4 100       269 Carp::croak "missing session_id" unless $session_id;
31 2         23 $self->data->{$session_id} = $data;
32             }
33              
34             sub delete {
35 5     5 1 1554 my ($self, $session_id) = @_;
36 5 100       295 Carp::croak "missing session_id" unless $session_id;
37 3         89 delete $self->data->{$session_id};
38             }
39              
40 0     0 0   sub cleanup { Carp::croak "This storage doesn't support cleanup" }
41              
42             1;
43             __END__