<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,8 @@
+h2. 0.8.1 (08/31/2009)
+
+* Removed unnecessary remember_token_expires_at column and the
+remember? and forget_me! user instance methods. (Dan Croak)
+
 h2. 0.8.0 (08/31/2009)
 
 * Always remember me. Replaced session-and-remember-me authentication with</diff>
      <filename>CHANGELOG.textile</filename>
    </modified>
    <modified>
      <diff>@@ -28,7 +28,7 @@ class Clearance::SessionsController &lt; ApplicationController
   end
 
   def destroy
-    sign_out(current_user)
+    sign_out
     flash_success_after_destroy
     redirect_to(url_after_destroy)
   end</diff>
      <filename>app/controllers/clearance/sessions_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,6 @@ class ClearanceCreateUsers &lt; ActiveRecord::Migration
       t.string   :salt,               :limit =&gt; 128
       t.string   :confirmation_token, :limit =&gt; 128
       t.string   :remember_token,     :limit =&gt; 128
-      t.datetime :remember_token_expires_at
       t.boolean  :email_confirmed, :default =&gt; false, :null =&gt; false
       t.timestamps
     end</diff>
      <filename>generators/clearance/templates/migrations/create_users.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,6 @@ class ClearanceUpdateUsers &lt; ActiveRecord::Migration
         [:salt, 't.string :salt, :limit =&gt; 128'],
         [:confirmation_token, 't.string :confirmation_token, :limit =&gt; 128'],
         [:remember_token, 't.string :remember_token, :limit =&gt; 128'],
-        [:remember_token_expires_at, 't.datetime :remember_token_expires_at'],
         [:email_confirmed, 't.boolean :email_confirmed, :default =&gt; false, :null =&gt; false']
       ].delete_if {|c| existing_columns.include?(c.first.to_s)}
 -%&gt;</diff>
      <filename>generators/clearance/templates/migrations/update_users.rb</filename>
    </modified>
    <modified>
      <diff>@@ -51,21 +51,17 @@ module Clearance
           user.remember_me!
           cookies[:remember_token] = {
             :value   =&gt; user.remember_token,
-            :expires =&gt; user.remember_token_expires_at
+            :expires =&gt; 1.year.from_now.utc
           }
         end
       end
 
       # Sign user out of cookie.
       #
-      # @param [User]
-      #
       # @example
-      #   sign_out(@user)
-      def sign_out(user)
-        user.forget_me! if user
+      #   sign_out
+      def sign_out
         cookies.delete(:remember_token)
-        reset_session
       end
 
       # Store the current location.
@@ -83,8 +79,7 @@ module Clearance
 
       def user_from_cookie
         if token = cookies[:remember_token]
-          return nil  unless user = ::User.find_by_remember_token(token)
-          return user if     user.remember?
+          ::User.find_by_remember_token(token)
         end
       end
 
@@ -94,7 +89,9 @@ module Clearance
       end
 
       def store_location
-        session[:return_to] = request.request_uri if request.get?
+        if request.get?
+          session[:return_to] = request.request_uri
+        end
       end
 
       def redirect_back_or(default)</diff>
      <filename>lib/clearance/authentication.rb</filename>
    </modified>
    <modified>
      <diff>@@ -101,17 +101,6 @@ module Clearance
         encrypted_password == encrypt(password)
       end
 
-      # Am I remembered?
-      #
-      # @return [true, false]
-      # @example
-      #   user.remember?
-      def remember?
-        remember_token &amp;&amp;
-        remember_token_expires_at &amp;&amp;
-        Time.now.utc &lt; remember_token_expires_at
-      end
-
       # Remember me for a year.
       #
       # @example
@@ -121,16 +110,7 @@ module Clearance
       #     :expires =&gt; user.remember_token_expires_at
       #   }
       def remember_me!
-        remember_me_until! 1.year.from_now.utc
-      end
-
-      # Forget me.
-      #
-      # @example
-      #   user.forget_me!
-      def forget_me!
-        self.remember_token            = nil
-        self.remember_token_expires_at = nil
+        self.remember_token = encrypt(&quot;--#{Time.now.utc}--#{password}--&quot;)
         save(false)
       end
 
@@ -200,12 +180,6 @@ module Clearance
       def password_required?
         encrypted_password.blank? || !password.blank?
       end
-
-      def remember_me_until!(time)
-        self.remember_token_expires_at = time
-        self.remember_token = encrypt(&quot;--#{time}--#{password}--&quot;)
-        save(false)
-      end
     end
 
     module ClassMethods</diff>
      <filename>lib/clearance/user.rb</filename>
    </modified>
    <modified>
      <diff>@@ -49,7 +49,6 @@ class SessionsControllerTest &lt; ActionController::TestCase
 
     should 'set the token in users table' do
       assert_not_nil @user.reload.remember_token
-      assert_not_nil @user.reload.remember_token_expires_at
     end
   end
 
@@ -136,7 +135,6 @@ class SessionsControllerTest &lt; ActionController::TestCase
 
     should &quot;delete the database token&quot; do
       assert_nil @user.reload.remember_token
-      assert_nil @user.reload.remember_token_expires_at
     end
   end
 </diff>
      <filename>test/controllers/sessions_controller_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,8 +3,7 @@ require 'test_helper'
 class UserTest &lt; ActiveSupport::TestCase
 
   should_not_allow_mass_assignment_of :email_confirmed,
-    :salt, :encrypted_password,
-    :remember_token, :remember_token_expires_at
+    :salt, :encrypted_password, :remember_token
 
   # signing up
 
@@ -113,50 +112,11 @@ class UserTest &lt; ActiveSupport::TestCase
     setup do
       @user  = Factory(:email_confirmed_user)
       assert_nil @user.remember_token
-      assert_nil @user.remember_token_expires_at
       @user.remember_me!
     end
 
-    should &quot;set the remember token and expiration date&quot; do
+    should &quot;set the remember token&quot; do
       assert_not_nil @user.remember_token
-      assert_not_nil @user.remember_token_expires_at
-    end
-
-    should &quot;remember user when remember token expires in the future&quot; do
-      @user.update_attribute :remember_token_expires_at,
-                             2.weeks.from_now.utc
-      assert @user.remember?
-    end
-
-    should &quot;not remember user when remember token has already expired&quot; do
-      @user.update_attribute :remember_token_expires_at,
-                             2.weeks.ago.utc
-      assert ! @user.remember?
-    end
-
-    should &quot;not remember user when remember token is not set&quot; do
-      @user.update_attribute :remember_token, nil
-      assert ! @user.remember?
-    end
-
-    should &quot;not remember user when remember token expiry date is not set&quot; do
-      @user.update_attribute :remember_token_expires_at, nil
-      assert ! @user.remember?
-    end
-
-    # logging out
-
-    context &quot;forget_me!&quot; do
-      setup { @user.forget_me! }
-
-      should &quot;unset the remember token and expiration date&quot; do
-        assert_nil @user.remember_token
-        assert_nil @user.remember_token_expires_at
-      end
-
-      should &quot;not remember user&quot; do
-        assert ! @user.remember?
-      end
     end
   end
 </diff>
      <filename>test/models/user_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>cbcc2278942c5d23a9012b277ada17d49da24e8a</id>
    </parent>
  </parents>
  <author>
    <name>Daniel Croak</name>
    <email>dancroak@dan-lawlesss-macbook.local</email>
  </author>
  <url>http://github.com/thoughtbot/clearance/commit/9a088ba624e55a3426d9ca58e8c5161c19467cc0</url>
  <id>9a088ba624e55a3426d9ca58e8c5161c19467cc0</id>
  <committed-date>2009-08-31T14:00:19-07:00</committed-date>
  <authored-date>2009-08-31T14:00:19-07:00</authored-date>
  <message>Removed unnecessary remember_token_expires_at column and the remember? and forget_me! user instance methods</message>
  <tree>bd21a64bc67785b5cd508ffd916769b98827c4e5</tree>
  <committer>
    <name>Daniel Croak</name>
    <email>dancroak@dan-lawlesss-macbook.local</email>
  </committer>
</commit>
