<< Previous Contents Next >>

Side-effect Example: Refactor for testing (ctd)

package My::SessionManager;

sub create {
    my ( $class, $session_id ) = @_;
    my %session = ();
    tie %session, 'Apache::Session::MySQL', $session_id,
                  { DataSource => 'dbi:mysql:sessions' };
    return %session;
}

sub save {
    my ( $class, %session ) = @_;
    untie %session;
}

1;