thoughtbot-clearance 0.6.9 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.textile +9 -0
 - data/README.textile +1 -1
 - data/Rakefile +37 -10
 - data/app/controllers/clearance/confirmations_controller.rb +27 -6
 - data/generators/clearance_features/clearance_features_generator.rb +3 -3
 - data/generators/clearance_features/templates/features/sign_up.feature +17 -0
 - data/generators/clearance_views/USAGE +0 -0
 - data/generators/clearance_views/clearance_views_generator.rb +27 -0
 - data/generators/clearance_views/templates/formtastic/passwords/edit.html.erb +21 -0
 - data/generators/clearance_views/templates/formtastic/passwords/new.html.erb +15 -0
 - data/generators/clearance_views/templates/formtastic/sessions/new.html.erb +22 -0
 - data/generators/clearance_views/templates/formtastic/users/_inputs.html.erb +6 -0
 - data/generators/clearance_views/templates/formtastic/users/new.html.erb +10 -0
 - data/lib/clearance/authentication.rb +6 -4
 - data/shoulda_macros/clearance.rb +6 -0
 - metadata +18 -3
 
    
        data/CHANGELOG.textile
    CHANGED
    
    | 
         @@ -1,3 +1,12 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            h2. 0.7.0 (08/04/2009)
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            * Redirect signed in user who clicks confirmation link again. (Dan Croak)
         
     | 
| 
      
 4 
     | 
    
         
            +
            * Redirect signed out user who clicks confirmation link again. (Dan Croak)
         
     | 
| 
      
 5 
     | 
    
         
            +
            * Added signed_out? convenience method for controllers, helpers, views. (Dan
         
     | 
| 
      
 6 
     | 
    
         
            +
            Croak)
         
     | 
| 
      
 7 
     | 
    
         
            +
            * Added clearance_views generator. By default, creates formtastic views which
         
     | 
| 
      
 8 
     | 
    
         
            +
            pass all tests and features. (Dan Croak)
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
       1 
10 
     | 
    
         
             
            h2. 0.6.9 (07/04/2009)
         
     | 
| 
       2 
11 
     | 
    
         | 
| 
       3 
12 
     | 
    
         
             
            * Added timestamps to create users migration. (Dan Croak)
         
     | 
    
        data/README.textile
    CHANGED
    
    
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -5,8 +5,16 @@ require 'rake/testtask' 
     | 
|
| 
       5 
5 
     | 
    
         
             
            require 'cucumber/rake/task'
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            namespace :test do
         
     | 
| 
       8 
     | 
    
         
            -
              Rake::TestTask.new(: 
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
      
 8 
     | 
    
         
            +
              Rake::TestTask.new(:basic => ["generator:cleanup",
         
     | 
| 
      
 9 
     | 
    
         
            +
                                            "generator:clearance",
         
     | 
| 
      
 10 
     | 
    
         
            +
                                            "generator:clearance_features"]) do |task|
         
     | 
| 
      
 11 
     | 
    
         
            +
                task.libs << "lib"
         
     | 
| 
      
 12 
     | 
    
         
            +
                task.libs << "test"
         
     | 
| 
      
 13 
     | 
    
         
            +
                task.pattern = "test/**/*_test.rb"
         
     | 
| 
      
 14 
     | 
    
         
            +
                task.verbose = false
         
     | 
| 
      
 15 
     | 
    
         
            +
              end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
              Rake::TestTask.new(:views => ["generator:clearance_views"]) do |task|
         
     | 
| 
       10 
18 
     | 
    
         
             
                task.libs << "lib"
         
     | 
| 
       11 
19 
     | 
    
         
             
                task.libs << "test"
         
     | 
| 
       12 
20 
     | 
    
         
             
                task.pattern = "test/**/*_test.rb"
         
     | 
| 
         @@ -17,9 +25,14 @@ namespace :test do 
     | 
|
| 
       17 
25 
     | 
    
         
             
                t.cucumber_opts   = "--format progress"
         
     | 
| 
       18 
26 
     | 
    
         
             
                t.feature_pattern = "test/rails_root/features/*.feature"
         
     | 
| 
       19 
27 
     | 
    
         
             
              end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
              Cucumber::Rake::Task.new(:features_for_views) do |t|
         
     | 
| 
      
 30 
     | 
    
         
            +
                t.cucumber_opts   = "--format progress"
         
     | 
| 
      
 31 
     | 
    
         
            +
                t.feature_pattern = "test/rails_root/features/*.feature"
         
     | 
| 
      
 32 
     | 
    
         
            +
              end
         
     | 
| 
       20 
33 
     | 
    
         
             
            end
         
     | 
| 
       21 
34 
     | 
    
         | 
| 
       22 
     | 
    
         
            -
            generators = %w(clearance clearance_features)
         
     | 
| 
      
 35 
     | 
    
         
            +
            generators = %w(clearance clearance_features clearance_views)
         
     | 
| 
       23 
36 
     | 
    
         | 
| 
       24 
37 
     | 
    
         
             
            namespace :generator do
         
     | 
| 
       25 
38 
     | 
    
         
             
              desc "Cleans up the test app before running the generator"
         
     | 
| 
         @@ -34,26 +47,40 @@ namespace :generator do 
     | 
|
| 
       34 
47 
     | 
    
         
             
                FileList["test/rails_root/db/**/*"].each do |each| 
         
     | 
| 
       35 
48 
     | 
    
         
             
                  FileUtils.rm_rf(each)
         
     | 
| 
       36 
49 
     | 
    
         
             
                end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
       37 
51 
     | 
    
         
             
                FileUtils.rm_rf("test/rails_root/vendor/plugins/clearance")
         
     | 
| 
       38 
52 
     | 
    
         
             
                FileUtils.mkdir_p("test/rails_root/vendor/plugins")
         
     | 
| 
       39 
53 
     | 
    
         
             
                clearance_root = File.expand_path(File.dirname(__FILE__))
         
     | 
| 
       40 
54 
     | 
    
         
             
                system("ln -s #{clearance_root} test/rails_root/vendor/plugins/clearance")
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
                FileUtils.rm_rf("test/rails_root/app/views/passwords")
         
     | 
| 
      
 57 
     | 
    
         
            +
                FileUtils.rm_rf("test/rails_root/app/views/sessions")
         
     | 
| 
      
 58 
     | 
    
         
            +
                FileUtils.rm_rf("test/rails_root/app/views/users")
         
     | 
| 
       41 
59 
     | 
    
         
             
              end
         
     | 
| 
       42 
60 
     | 
    
         | 
| 
       43 
     | 
    
         
            -
              desc "Run the generator 
     | 
| 
       44 
     | 
    
         
            -
              task : 
     | 
| 
       45 
     | 
    
         
            -
                 
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
      
 61 
     | 
    
         
            +
              desc "Run the clearance generator"
         
     | 
| 
      
 62 
     | 
    
         
            +
              task :clearance do
         
     | 
| 
      
 63 
     | 
    
         
            +
                system "cd test/rails_root && ./script/generate clearance && rake db:migrate db:test:prepare"
         
     | 
| 
      
 64 
     | 
    
         
            +
              end
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
              desc "Run the clearance features generator"
         
     | 
| 
      
 67 
     | 
    
         
            +
              task :clearance_features do
         
     | 
| 
      
 68 
     | 
    
         
            +
                system "cd test/rails_root && ./script/generate clearance_features"
         
     | 
| 
      
 69 
     | 
    
         
            +
              end
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
              desc "Run the clearance views generator"
         
     | 
| 
      
 72 
     | 
    
         
            +
              task :clearance_views do
         
     | 
| 
      
 73 
     | 
    
         
            +
                system "cd test/rails_root && ./script/generate clearance_views"
         
     | 
| 
       48 
74 
     | 
    
         
             
              end
         
     | 
| 
       49 
75 
     | 
    
         
             
            end
         
     | 
| 
       50 
76 
     | 
    
         | 
| 
       51 
77 
     | 
    
         
             
            desc "Run the test suite"
         
     | 
| 
       52 
     | 
    
         
            -
            task :default => ['test: 
     | 
| 
      
 78 
     | 
    
         
            +
            task :default => ['test:basic', 'test:features',
         
     | 
| 
      
 79 
     | 
    
         
            +
                              'test:views', 'test:features_for_views']
         
     | 
| 
       53 
80 
     | 
    
         | 
| 
       54 
81 
     | 
    
         
             
            gem_spec = Gem::Specification.new do |gem_spec|
         
     | 
| 
       55 
82 
     | 
    
         
             
              gem_spec.name        = "clearance"
         
     | 
| 
       56 
     | 
    
         
            -
              gem_spec.version     = "0. 
     | 
| 
      
 83 
     | 
    
         
            +
              gem_spec.version     = "0.7.0"
         
     | 
| 
       57 
84 
     | 
    
         
             
              gem_spec.summary     = "Rails authentication with email & password."
         
     | 
| 
       58 
85 
     | 
    
         
             
              gem_spec.email       = "support@thoughtbot.com"
         
     | 
| 
       59 
86 
     | 
    
         
             
              gem_spec.homepage    = "http://github.com/thoughtbot/clearance"
         
     | 
| 
         @@ -1,9 +1,11 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            class Clearance::ConfirmationsController < ApplicationController
         
     | 
| 
       2 
2 
     | 
    
         
             
              unloadable
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
              before_filter : 
     | 
| 
       5 
     | 
    
         
            -
              before_filter : 
     | 
| 
       6 
     | 
    
         
            -
              before_filter : 
     | 
| 
      
 4 
     | 
    
         
            +
              before_filter :redirect_signed_in_confirmed_user,  :only => [:new, :create]
         
     | 
| 
      
 5 
     | 
    
         
            +
              before_filter :redirect_signed_out_confirmed_user, :only => [:new, :create]
         
     | 
| 
      
 6 
     | 
    
         
            +
              before_filter :forbid_missing_token,               :only => [:new, :create]
         
     | 
| 
      
 7 
     | 
    
         
            +
              before_filter :forbid_non_existent_user,           :only => [:new, :create]
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
       7 
9 
     | 
    
         
             
              filter_parameter_logging :token
         
     | 
| 
       8 
10 
     | 
    
         | 
| 
       9 
11 
     | 
    
         
             
              def new
         
     | 
| 
         @@ -21,10 +23,19 @@ class Clearance::ConfirmationsController < ApplicationController 
     | 
|
| 
       21 
23 
     | 
    
         | 
| 
       22 
24 
     | 
    
         
             
              private
         
     | 
| 
       23 
25 
     | 
    
         | 
| 
       24 
     | 
    
         
            -
              def  
     | 
| 
      
 26 
     | 
    
         
            +
              def redirect_signed_in_confirmed_user
         
     | 
| 
      
 27 
     | 
    
         
            +
                user = ::User.find_by_id(params[:user_id])
         
     | 
| 
      
 28 
     | 
    
         
            +
                if user && user.email_confirmed? && current_user == user
         
     | 
| 
      
 29 
     | 
    
         
            +
                  flash_success_after_create
         
     | 
| 
      
 30 
     | 
    
         
            +
                  redirect_to(url_after_create)
         
     | 
| 
      
 31 
     | 
    
         
            +
                end
         
     | 
| 
      
 32 
     | 
    
         
            +
              end
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
              def redirect_signed_out_confirmed_user
         
     | 
| 
       25 
35 
     | 
    
         
             
                user = ::User.find_by_id(params[:user_id])
         
     | 
| 
       26 
     | 
    
         
            -
                if user && user.email_confirmed?
         
     | 
| 
       27 
     | 
    
         
            -
                   
     | 
| 
      
 36 
     | 
    
         
            +
                if user && user.email_confirmed? && signed_out?
         
     | 
| 
      
 37 
     | 
    
         
            +
                  flash_already_confirmed
         
     | 
| 
      
 38 
     | 
    
         
            +
                  redirect_to(url_already_confirmed)
         
     | 
| 
       28 
39 
     | 
    
         
             
                end
         
     | 
| 
       29 
40 
     | 
    
         
             
              end
         
     | 
| 
       30 
41 
     | 
    
         | 
| 
         @@ -46,7 +57,17 @@ class Clearance::ConfirmationsController < ApplicationController 
     | 
|
| 
       46 
57 
     | 
    
         
             
                  :default => "Confirmed email and signed in.")
         
     | 
| 
       47 
58 
     | 
    
         
             
              end
         
     | 
| 
       48 
59 
     | 
    
         | 
| 
      
 60 
     | 
    
         
            +
              def flash_already_confirmed
         
     | 
| 
      
 61 
     | 
    
         
            +
                flash[:success] = translate(:already_confirmed_email,
         
     | 
| 
      
 62 
     | 
    
         
            +
                  :scope   => [:clearance, :controllers, :confirmations],
         
     | 
| 
      
 63 
     | 
    
         
            +
                  :default => "Already confirmed email. Please sign in.")
         
     | 
| 
      
 64 
     | 
    
         
            +
              end
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
       49 
66 
     | 
    
         
             
              def url_after_create
         
     | 
| 
       50 
67 
     | 
    
         
             
                root_url
         
     | 
| 
       51 
68 
     | 
    
         
             
              end
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
              def url_already_confirmed
         
     | 
| 
      
 71 
     | 
    
         
            +
                sign_in_url
         
     | 
| 
      
 72 
     | 
    
         
            +
              end
         
     | 
| 
       52 
73 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,10 +1,10 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            class ClearanceFeaturesGenerator < Rails::Generator::Base
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       3 
3 
     | 
    
         
             
              def manifest
         
     | 
| 
       4 
4 
     | 
    
         
             
                record do |m|
         
     | 
| 
       5 
5 
     | 
    
         
             
                  m.directory File.join("features", "step_definitions")
         
     | 
| 
       6 
6 
     | 
    
         
             
                  m.directory File.join("features", "support")
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
       8 
8 
     | 
    
         
             
                  ["features/step_definitions/clearance_steps.rb",
         
     | 
| 
       9 
9 
     | 
    
         
             
                   "features/step_definitions/factory_girl_steps.rb",
         
     | 
| 
       10 
10 
     | 
    
         
             
                   "features/support/paths.rb",
         
     | 
| 
         @@ -16,5 +16,5 @@ class ClearanceFeaturesGenerator < Rails::Generator::Base 
     | 
|
| 
       16 
16 
     | 
    
         
             
                   end
         
     | 
| 
       17 
17 
     | 
    
         
             
                end
         
     | 
| 
       18 
18 
     | 
    
         
             
              end
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
       20 
20 
     | 
    
         
             
            end
         
     | 
| 
         @@ -26,3 +26,20 @@ Feature: Sign up 
     | 
|
| 
       26 
26 
     | 
    
         
             
                  Then I should see "Confirmed email and signed in"
         
     | 
| 
       27 
27 
     | 
    
         
             
                  And I should be signed in
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
      
 29 
     | 
    
         
            +
                Scenario: Signed in user clicks confirmation link again
         
     | 
| 
      
 30 
     | 
    
         
            +
                  Given I signed up with "email@person.com/password"
         
     | 
| 
      
 31 
     | 
    
         
            +
                  When I follow the confirmation link sent to "email@person.com"
         
     | 
| 
      
 32 
     | 
    
         
            +
                  Then I should be signed in
         
     | 
| 
      
 33 
     | 
    
         
            +
                  When I follow the confirmation link sent to "email@person.com"
         
     | 
| 
      
 34 
     | 
    
         
            +
                  Then I should see "Confirmed email and signed in"
         
     | 
| 
      
 35 
     | 
    
         
            +
                  And I should be signed in
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                Scenario: Signed out user clicks confirmation link again
         
     | 
| 
      
 38 
     | 
    
         
            +
                  Given I signed up with "email@person.com/password"
         
     | 
| 
      
 39 
     | 
    
         
            +
                  When I follow the confirmation link sent to "email@person.com"
         
     | 
| 
      
 40 
     | 
    
         
            +
                  Then I should be signed in
         
     | 
| 
      
 41 
     | 
    
         
            +
                  When I sign out
         
     | 
| 
      
 42 
     | 
    
         
            +
                  And I follow the confirmation link sent to "email@person.com"
         
     | 
| 
      
 43 
     | 
    
         
            +
                  Then I should see "Already confirmed email. Please sign in."
         
     | 
| 
      
 44 
     | 
    
         
            +
                  And I should be signed out
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
         
            File without changes
         
     | 
| 
         @@ -0,0 +1,27 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            class ClearanceViewsGenerator < Rails::Generator::Base
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
              def manifest
         
     | 
| 
      
 4 
     | 
    
         
            +
                record do |m|
         
     | 
| 
      
 5 
     | 
    
         
            +
                  strategy          = "formtastic"
         
     | 
| 
      
 6 
     | 
    
         
            +
                  template_strategy = "erb"
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                  m.directory File.join("app", "views", "users")
         
     | 
| 
      
 9 
     | 
    
         
            +
                  m.file "#{strategy}/users/new.html.#{template_strategy}",
         
     | 
| 
      
 10 
     | 
    
         
            +
                    "app/views/users/new.html.#{template_strategy}"
         
     | 
| 
      
 11 
     | 
    
         
            +
                  m.file "#{strategy}/users/_inputs.html.#{template_strategy}",
         
     | 
| 
      
 12 
     | 
    
         
            +
                    "app/views/users/_inputs.html.#{template_strategy}"
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                  m.directory File.join("app", "views", "sessions")
         
     | 
| 
      
 15 
     | 
    
         
            +
                  m.file "#{strategy}/sessions/new.html.#{template_strategy}",
         
     | 
| 
      
 16 
     | 
    
         
            +
                    "app/views/sessions/new.html.#{template_strategy}"
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                  m.directory File.join("app", "views", "passwords")
         
     | 
| 
      
 19 
     | 
    
         
            +
                  m.file "#{strategy}/passwords/new.html.#{template_strategy}",
         
     | 
| 
      
 20 
     | 
    
         
            +
                    "app/views/passwords/new.html.#{template_strategy}"
         
     | 
| 
      
 21 
     | 
    
         
            +
                  m.file "#{strategy}/passwords/edit.html.#{template_strategy}",
         
     | 
| 
      
 22 
     | 
    
         
            +
                    "app/views/passwords/edit.html.#{template_strategy}"
         
     | 
| 
      
 23 
     | 
    
         
            +
                end
         
     | 
| 
      
 24 
     | 
    
         
            +
              end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            end
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,21 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <h2>Change your password</h2>
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            <p>
         
     | 
| 
      
 4 
     | 
    
         
            +
              Your password has been reset. Choose a new password below.
         
     | 
| 
      
 5 
     | 
    
         
            +
            </p>
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            <% semantic_form_for(:user,
         
     | 
| 
      
 8 
     | 
    
         
            +
                        :url  => user_password_path(@user, :token => @user.token),
         
     | 
| 
      
 9 
     | 
    
         
            +
                        :html => { :method => :put }) do |form| %>
         
     | 
| 
      
 10 
     | 
    
         
            +
              <%= form.error_messages %>
         
     | 
| 
      
 11 
     | 
    
         
            +
              <% form.inputs do -%>
         
     | 
| 
      
 12 
     | 
    
         
            +
                <%= form.input :password, :as => :password,
         
     | 
| 
      
 13 
     | 
    
         
            +
                               :label => "Choose password" %>
         
     | 
| 
      
 14 
     | 
    
         
            +
                <%= form.input :password_confirmation, :as => :password,
         
     | 
| 
      
 15 
     | 
    
         
            +
                               :label => "Confirm password" %>
         
     | 
| 
      
 16 
     | 
    
         
            +
              <% end -%>
         
     | 
| 
      
 17 
     | 
    
         
            +
              <% form.buttons do -%>
         
     | 
| 
      
 18 
     | 
    
         
            +
                <%= form.commit_button "Save this password" %>
         
     | 
| 
      
 19 
     | 
    
         
            +
              <% end -%>
         
     | 
| 
      
 20 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <h2>Reset your password</h2>
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            <p>
         
     | 
| 
      
 4 
     | 
    
         
            +
              We will email you a link to reset your password.
         
     | 
| 
      
 5 
     | 
    
         
            +
            </p>
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            <% semantic_form_for :password, :url => passwords_path do |form| -%>
         
     | 
| 
      
 8 
     | 
    
         
            +
              <% form.inputs do -%>
         
     | 
| 
      
 9 
     | 
    
         
            +
                <%= form.input :email, :label => "Email address" %>
         
     | 
| 
      
 10 
     | 
    
         
            +
              <% end -%>
         
     | 
| 
      
 11 
     | 
    
         
            +
              <% form.buttons do -%>
         
     | 
| 
      
 12 
     | 
    
         
            +
                <%= form.commit_button "Reset password" %>
         
     | 
| 
      
 13 
     | 
    
         
            +
              <% end -%>
         
     | 
| 
      
 14 
     | 
    
         
            +
            <% end -%>
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,22 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <h2>Sign in</h2>
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            <% semantic_form_for :session, :url => session_path do |form| %>
         
     | 
| 
      
 4 
     | 
    
         
            +
              <% form.inputs do %>
         
     | 
| 
      
 5 
     | 
    
         
            +
                <%= form.input :email %>
         
     | 
| 
      
 6 
     | 
    
         
            +
                <%= form.input :password, :as => :password %>
         
     | 
| 
      
 7 
     | 
    
         
            +
                <%= form.input :remember_me, :as => :boolean, :required => false %>
         
     | 
| 
      
 8 
     | 
    
         
            +
              <% end %>
         
     | 
| 
      
 9 
     | 
    
         
            +
              <% form.buttons do %>
         
     | 
| 
      
 10 
     | 
    
         
            +
                <%= form.commit_button "Sign in" %>
         
     | 
| 
      
 11 
     | 
    
         
            +
              <% end %>
         
     | 
| 
      
 12 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            <ul>
         
     | 
| 
      
 15 
     | 
    
         
            +
              <li>
         
     | 
| 
      
 16 
     | 
    
         
            +
                <%= link_to "Sign up", new_user_path %>
         
     | 
| 
      
 17 
     | 
    
         
            +
              </li>
         
     | 
| 
      
 18 
     | 
    
         
            +
              <li>
         
     | 
| 
      
 19 
     | 
    
         
            +
                <%= link_to "Forgot password?", new_password_path %>
         
     | 
| 
      
 20 
     | 
    
         
            +
              </li>
         
     | 
| 
      
 21 
     | 
    
         
            +
            </ul>
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
         @@ -5,10 +5,8 @@ module Clearance 
     | 
|
| 
       5 
5 
     | 
    
         
             
                  controller.send(:include, InstanceMethods)
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
                  controller.class_eval do
         
     | 
| 
       8 
     | 
    
         
            -
                    helper_method :current_user
         
     | 
| 
       9 
     | 
    
         
            -
                     
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
                    hide_action :current_user, :signed_in?
         
     | 
| 
      
 8 
     | 
    
         
            +
                    helper_method :current_user, :signed_in?, :signed_out?
         
     | 
| 
      
 9 
     | 
    
         
            +
                    hide_action   :current_user, :signed_in?, :signed_out?
         
     | 
| 
       12 
10 
     | 
    
         
             
                  end
         
     | 
| 
       13 
11 
     | 
    
         
             
                end
         
     | 
| 
       14 
12 
     | 
    
         | 
| 
         @@ -21,6 +19,10 @@ module Clearance 
     | 
|
| 
       21 
19 
     | 
    
         
             
                    ! current_user.nil?
         
     | 
| 
       22 
20 
     | 
    
         
             
                  end
         
     | 
| 
       23 
21 
     | 
    
         | 
| 
      
 22 
     | 
    
         
            +
                  def signed_out?
         
     | 
| 
      
 23 
     | 
    
         
            +
                    current_user.nil?
         
     | 
| 
      
 24 
     | 
    
         
            +
                  end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
       24 
26 
     | 
    
         
             
                  protected
         
     | 
| 
       25 
27 
     | 
    
         | 
| 
       26 
28 
     | 
    
         
             
                  def authenticate
         
     | 
    
        data/shoulda_macros/clearance.rb
    CHANGED
    
    | 
         @@ -132,6 +132,12 @@ module Clearance 
     | 
|
| 
       132 
132 
     | 
    
         
             
                  end
         
     | 
| 
       133 
133 
     | 
    
         
             
                end
         
     | 
| 
       134 
134 
     | 
    
         | 
| 
      
 135 
     | 
    
         
            +
                def should_redirect_to_url_already_confirmed
         
     | 
| 
      
 136 
     | 
    
         
            +
                  should_redirect_to("the already confirmed url") do
         
     | 
| 
      
 137 
     | 
    
         
            +
                    @controller.send(:url_already_confirmed)
         
     | 
| 
      
 138 
     | 
    
         
            +
                  end
         
     | 
| 
      
 139 
     | 
    
         
            +
                end
         
     | 
| 
      
 140 
     | 
    
         
            +
             
     | 
| 
       135 
141 
     | 
    
         
             
                # VALIDATIONS
         
     | 
| 
       136 
142 
     | 
    
         | 
| 
       137 
143 
     | 
    
         
             
                def should_validate_confirmation_of(attribute, opts = {})
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: thoughtbot-clearance
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.7.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors: 
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Dan Croak
         
     | 
| 
         @@ -24,7 +24,7 @@ autorequire: 
     | 
|
| 
       24 
24 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       25 
25 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       26 
26 
     | 
    
         | 
| 
       27 
     | 
    
         
            -
            date: 2009- 
     | 
| 
      
 27 
     | 
    
         
            +
            date: 2009-08-03 21:00:00 -07:00
         
     | 
| 
       28 
28 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       29 
29 
     | 
    
         
             
            dependencies: []
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
         @@ -90,6 +90,19 @@ files: 
     | 
|
| 
       90 
90 
     | 
    
         
             
            - generators/clearance_features/templates/features/support
         
     | 
| 
       91 
91 
     | 
    
         
             
            - generators/clearance_features/templates/features/support/paths.rb
         
     | 
| 
       92 
92 
     | 
    
         
             
            - generators/clearance_features/USAGE
         
     | 
| 
      
 93 
     | 
    
         
            +
            - generators/clearance_views
         
     | 
| 
      
 94 
     | 
    
         
            +
            - generators/clearance_views/clearance_views_generator.rb
         
     | 
| 
      
 95 
     | 
    
         
            +
            - generators/clearance_views/templates
         
     | 
| 
      
 96 
     | 
    
         
            +
            - generators/clearance_views/templates/formtastic
         
     | 
| 
      
 97 
     | 
    
         
            +
            - generators/clearance_views/templates/formtastic/passwords
         
     | 
| 
      
 98 
     | 
    
         
            +
            - generators/clearance_views/templates/formtastic/passwords/edit.html.erb
         
     | 
| 
      
 99 
     | 
    
         
            +
            - generators/clearance_views/templates/formtastic/passwords/new.html.erb
         
     | 
| 
      
 100 
     | 
    
         
            +
            - generators/clearance_views/templates/formtastic/sessions
         
     | 
| 
      
 101 
     | 
    
         
            +
            - generators/clearance_views/templates/formtastic/sessions/new.html.erb
         
     | 
| 
      
 102 
     | 
    
         
            +
            - generators/clearance_views/templates/formtastic/users
         
     | 
| 
      
 103 
     | 
    
         
            +
            - generators/clearance_views/templates/formtastic/users/_inputs.html.erb
         
     | 
| 
      
 104 
     | 
    
         
            +
            - generators/clearance_views/templates/formtastic/users/new.html.erb
         
     | 
| 
      
 105 
     | 
    
         
            +
            - generators/clearance_views/USAGE
         
     | 
| 
       93 
106 
     | 
    
         
             
            - lib/clearance
         
     | 
| 
       94 
107 
     | 
    
         
             
            - lib/clearance/authentication.rb
         
     | 
| 
       95 
108 
     | 
    
         
             
            - lib/clearance/extensions
         
     | 
| 
         @@ -102,6 +115,8 @@ files: 
     | 
|
| 
       102 
115 
     | 
    
         
             
            - rails/init.rb
         
     | 
| 
       103 
116 
     | 
    
         
             
            has_rdoc: true
         
     | 
| 
       104 
117 
     | 
    
         
             
            homepage: http://github.com/thoughtbot/clearance
         
     | 
| 
      
 118 
     | 
    
         
            +
            licenses: []
         
     | 
| 
      
 119 
     | 
    
         
            +
             
     | 
| 
       105 
120 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
       106 
121 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       107 
122 
     | 
    
         | 
| 
         @@ -122,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       122 
137 
     | 
    
         
             
            requirements: []
         
     | 
| 
       123 
138 
     | 
    
         | 
| 
       124 
139 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       125 
     | 
    
         
            -
            rubygems_version: 1. 
     | 
| 
      
 140 
     | 
    
         
            +
            rubygems_version: 1.3.5
         
     | 
| 
       126 
141 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       127 
142 
     | 
    
         
             
            specification_version: 3
         
     | 
| 
       128 
143 
     | 
    
         
             
            summary: Rails authentication with email & password.
         
     |