[Jifty-commit] jifty branch, plack-rebased, updated. c571493c6f857b613d41ef257ab6f2738cf02f9a

Jifty commits jifty-commit at lists.jifty.org
Sat Feb 6 10:49:32 EST 2010


The branch, plack-rebased has been updated
       via  c571493c6f857b613d41ef257ab6f2738cf02f9a (commit)
       via  f2640eb4c36038f5e293d76d3d6aa44f36e60efb (commit)
       via  b7bf5998fc5fd3d3230b959c9f5c03700765e5f9 (commit)
      from  9610bcddfd00cdca109ead0c952c98324848f68f (commit)

Summary of changes:
 lib/Jifty/Web/Session.pm                      |  129 ++----------------------
 lib/Jifty/Web/{Session.pm => Session/JDBI.pm} |  135 +------------------------
 2 files changed, 14 insertions(+), 250 deletions(-)
 copy lib/Jifty/Web/{Session.pm => Session/JDBI.pm} (66%)

- Log -----------------------------------------------------------------
commit c571493c6f857b613d41ef257ab6f2738cf02f9a
Merge: 9610bcd f2640eb
Author: Jesse Vincent <jesse at bestpractical.com>
Date:   Sat Feb 6 07:35:10 2010 -0800

    Merge branch 'master' into plack-rebased
    
    * master:
      Last commit --amend before push failed.
      Extract our JDBI-based session handler from the core session handler class
    
    Conflicts:
    	lib/Jifty/Web/Session.pm

diff --cc lib/Jifty/Web/Session.pm
index fb0106b,86d77d4..c3388b9
--- a/lib/Jifty/Web/Session.pm
+++ b/lib/Jifty/Web/Session.pm
@@@ -3,11 -3,8 +3,7 @@@ use strict
  
  package Jifty::Web::Session;
  use base qw/Jifty::Object/;
 -use CGI::Cookie ();
  use DateTime    ();
- use Storable    ();
- $Storable::Deparse    = 1;
- $Storable::Eval       = 1;
- $Storable::forgive_me = 1;
  
  =head1 NAME
  
@@@ -86,33 -66,8 +65,7 @@@ based on, say, a timestamp, then you'r
  =cut
  
  sub load_by_kv {
-     my $self = shift;
-     my $k    = shift;
-     my $v    = shift;
--
- # XXX TODO: we store this data in a storable. so we now want to match on the storable version
- # It would be so nice if Jifty::DBI could do this for us.
-     my $encoded = Storable::nfreeze( \$v );
- 
-     my $session = Jifty::Model::Session->new;
-     $session->load_by_cols(
-         key_type => 'key',
-         data_key => $k,
-         value    => $encoded,
-     );
-     my $session_id = $session->session_id;
- 
-     # XXX: if $session_id is undef, then bad things happen. This *can* happen.
- 
-     $self->load($session_id);
-     $self->set( $k => $v ) if !$session_id;
- }
- 
- sub _get_session_id_from_client {
-     my $self        = shift;
-     my $cookies     = Jifty->web->request
-         ? Jifty->web->request->cookies : {};
-     return $cookies->{$self->cookie_name};
+     die "Subclass must implement load_by_kv";
  }
  
  =head2 unload
diff --cc lib/Jifty/Web/Session/JDBI.pm
index fb0106b,2c792c6..f07d432
--- a/lib/Jifty/Web/Session/JDBI.pm
+++ b/lib/Jifty/Web/Session/JDBI.pm
@@@ -108,43 -101,14 +101,14 @@@ sub load_by_kv 
      $self->set( $k => $v ) if !$session_id;
  }
  
++
  sub _get_session_id_from_client {
      my $self        = shift;
 -    my %cookies     = CGI::Cookie->fetch();
 -    my $cookie_name = $self->cookie_name;
 -    my $session_id
 -        = $cookies{$cookie_name} ? $cookies{$cookie_name}->value() : undef;
 +    my $cookies     = Jifty->web->request
 +        ? Jifty->web->request->cookies : {};
 +    return $cookies->{$self->cookie_name};
  }
  
- =head2 unload
- 
- Flush the session, and leaves the session object blank.
- 
- =cut
- 
- sub unload {
-     my $self = shift;
- 
-     return unless $self->loaded;
-     $self->_session(undef);
- }
- 
- =head2 loaded
- 
- Returns true if the session has already been loaded.
- 
- =cut
- 
- sub loaded {
-     my $self = shift;
-     return $self->_session;
- }
- 
- sub _session {
-     my $self = shift;
-     $self->{'_session'} = shift if (@_);
-     return ( $self->{'_session'} );
- }
- 
  =head2 get KEY [TYPE]
  
  Returns the value for C<KEY> for the current user's session.  C<TYPE>,

-----------------------------------------------------------------------


More information about the Jifty-commit mailing list