File Coverage

lib/Concierge/Sessions/Base.pm
Criterion Covered Total %
statement 8 14 57.1
branch n/a
condition n/a
subroutine 4 10 40.0
pod 7 8 87.5
total 19 32 59.3


line stmt bran cond sub pod time code
1             package Concierge::Sessions::Base v0.11.0;
2 4     4   1766 use v5.36;
  4         13  
3              
4 4     4   2025 use Crypt::PRNG qw(random_bytes);
  4         16425  
  4         798  
5              
6             sub new {
7 67     67 0 210 my ($class, %args) = @_;
8 67         254 return bless {}, $class;
9             }
10              
11             # Define interface methods that must be implemented by subclasses
12 0     0 1 0 sub create_session { die "Subclass must implement create_session" }
13 0     0 1 0 sub get_session_info { die "Subclass must implement get_session_info" }
14 0     0 1 0 sub update_session { die "Subclass must implement update_session" }
15 0     0 1 0 sub delete_session { die "Subclass must implement delete_session" }
16 0     0 1 0 sub cleanup_sessions { die "Subclass must implement cleanup_sessions" }
17 0     0 1 0 sub delete_user_session { die "Subclass must implement delete_user_session" }
18              
19             # Utilities
20             sub generate_session_id {
21 62     62 1 326 return unpack('H*', random_bytes(20));
22             }
23              
24             1;
25              
26             __END__