tonkapark-clearance 0.6.9.3 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. data/CHANGELOG.textile +11 -5
  2. data/README.textile +38 -37
  3. data/Rakefile +41 -19
  4. data/TODO.textile +4 -3
  5. data/app/controllers/clearance/confirmations_controller.rb +27 -6
  6. data/app/controllers/clearance/passwords_controller.rb +1 -1
  7. data/app/controllers/clearance/sessions_controller.rb +1 -1
  8. data/app/controllers/clearance/users_controller.rb +3 -4
  9. data/app/models/clearance_mailer.rb +3 -25
  10. data/app/views/passwords/edit.html.erb +12 -14
  11. data/app/views/passwords/new.html.erb +9 -10
  12. data/app/views/sessions/new.html.erb +26 -1
  13. data/app/views/users/_form.html.erb +13 -0
  14. data/app/views/users/new.html.erb +5 -3
  15. data/clearance.gemspec +20 -31
  16. data/config/clearance_routes.rb +7 -9
  17. data/generators/clearance/clearance_generator.rb +3 -30
  18. data/generators/clearance/templates/README +17 -17
  19. data/generators/clearance/templates/migrations/create_users.rb +0 -3
  20. data/generators/clearance/templates/migrations/update_users.rb +1 -4
  21. data/generators/clearance/templates/user.rb +0 -1
  22. data/generators/clearance_features/clearance_features_generator.rb +4 -4
  23. data/generators/clearance_features/templates/features/sign_up.feature +17 -0
  24. data/generators/clearance_views/USAGE +0 -0
  25. data/generators/clearance_views/clearance_views_generator.rb +27 -0
  26. data/generators/clearance_views/templates/formtastic/passwords/edit.html.erb +21 -0
  27. data/generators/clearance_views/templates/formtastic/passwords/new.html.erb +15 -0
  28. data/generators/clearance_views/templates/formtastic/sessions/new.html.erb +22 -0
  29. data/generators/clearance_views/templates/formtastic/users/_inputs.html.erb +6 -0
  30. data/generators/clearance_views/templates/formtastic/users/new.html.erb +10 -0
  31. data/lib/clearance/authentication.rb +70 -32
  32. data/lib/clearance/user.rb +87 -32
  33. data/lib/clearance.rb +0 -1
  34. data/shoulda_macros/clearance.rb +6 -0
  35. metadata +23 -32
  36. data/app/controllers/clearance/invitations_controller.rb +0 -40
  37. data/app/views/clearance_mailer/invitation.html.erb +0 -3
  38. data/app/views/invitations/index.html.erb +0 -19
  39. data/app/views/invitations/new.html.erb +0 -15
  40. data/app/views/users/_user.html.erb +0 -28
  41. data/generators/clearance/templates/invitation.rb +0 -4
  42. data/generators/clearance/templates/migrations/create_invitations.rb +0 -20
  43. data/generators/clearance/templates/migrations/update_invitations.rb +0 -40
  44. data/lib/clearance/invitation.rb +0 -87
data/CHANGELOG.textile CHANGED
@@ -1,11 +1,16 @@
1
- h2. 0.6.9.3 (7/21/09)
1
+ h2. 0.7.1 (unreleased)
2
2
 
3
- * added admin to users.
4
- * invitation listing for admins only
3
+ * Documented Clearance::Authentication with YARD. (Dan Croak)
4
+ * Documented Clearance::User with YARD. (Dan Croak)
5
5
 
6
- h2. 0.6.9.2 (7/21/09)
6
+ h2. 0.7.0 (08/04/2009)
7
7
 
8
- * forked and added invitations and clearance.yml (Matt Anderson[http://tonkapark.com])
8
+ * Redirect signed in user who clicks confirmation link again. (Dan Croak)
9
+ * Redirect signed out user who clicks confirmation link again. (Dan Croak)
10
+ * Added signed_out? convenience method for controllers, helpers, views. (Dan
11
+ Croak)
12
+ * Added clearance_views generator. By default, creates formtastic views which
13
+ pass all tests and features. (Dan Croak)
9
14
 
10
15
  h2. 0.6.9 (07/04/2009)
11
16
 
@@ -57,6 +62,7 @@ h2. 0.6.2 (04/22/2009)
57
62
  * World(NavigationHelpers) Cucumber 3.0 style. (Shay Arnett & Mark Cornick)
58
63
 
59
64
  h2. 0.6.1 (04/21/2009)
65
+
60
66
  * Scope operators are necessary to keep Rails happy. Reverting the original
61
67
  revert so they're back in the library now for constants referenced inside of
62
68
  the gem. (Nick Quaranto)
data/README.textile CHANGED
@@ -1,12 +1,12 @@
1
1
  h1. Clearance
2
2
 
3
- Rails authentication with email & password, *and invitations*.
3
+ Rails authentication with email & password.
4
4
 
5
5
  "We have clearance, Clarence.":http://www.youtube.com/v/mNRXJEE3Nz8
6
6
 
7
- h2. Wiki
7
+ h2. Suspenders
8
8
 
9
- Most information regarding Clearance is on the "Github Wiki":http://wiki.github.com/thoughtbot/clearance.
9
+ Clearance is included in "Suspenders":http://github.com/thoughtbot/suspenders, which thoughtbot uses on all of our apps. We highly recommend you try it. Suspenders is the "King Gem" in our ecosystem, representating what we think the current state-of-the-art is in Rails development.
10
10
 
11
11
  h2. Installation
12
12
 
@@ -15,10 +15,10 @@ Clearance is a Rails engine. It works with versions of Rails greater than 2.3.
15
15
  In config/environment.rb:
16
16
 
17
17
  <pre>
18
- config.gem "tonkapark-clearance",
19
- :lib => 'clearance',
20
- :source => 'http://gems.github.com',
21
- :version => '0.6.9.3'
18
+ config.gem "thoughtbot-clearance",
19
+ :lib => 'clearance',
20
+ :source => 'http://gems.github.com',
21
+ :version => '0.7.0'
22
22
  </pre>
23
23
 
24
24
  Vendor the gem:
@@ -30,7 +30,9 @@ rake gems:unpack
30
30
 
31
31
  Make sure the development database exists and run the generator:
32
32
 
33
- @script/generate clearance@
33
+ <pre>
34
+ script/generate clearance
35
+ </pre>
34
36
 
35
37
  A number of files will be created and instructions will be printed.
36
38
 
@@ -38,50 +40,37 @@ You may already have some of these files. Don't worry. You'll be asked if you wa
38
40
 
39
41
  Run the migration:
40
42
 
41
- @rake db:migrate@
43
+ <pre>
44
+ rake db:migrate
45
+ </pre>
46
+
47
+ h2. If you aren't on Suspenders, you aren't done
42
48
 
43
49
  Define a HOST constant in your environment files.
44
- In config/clearance.yml:
50
+ In config/environments/test.rb and config/environments/development.rb it can be:
45
51
 
46
52
  <pre>
47
- production:
48
- host: you_production_host.com
49
- do_not_reply: do_not_reply@you_production_host.com
50
- invitation_subject_line: An Invitation
51
- invitation_from_email: invitation@you_production_host.com
52
- </pre>
53
-
54
- Define root_url to *something* in your config/routes.rb:
55
-
56
- @map.root :controller => 'home'@
57
-
58
- h2. Cucumber Features
53
+ HOST = "localhost"
54
+ </pre>
59
55
 
60
- As your app evolves, you want to know that authentication still works. Clearance's opinion is that you should test its integration with your app using "Cucumber":http://cukes.info/.
56
+ In production.rb it must be the actual host your application is deployed to.
57
+ The constant is used by mailers to generate URLs in emails.
61
58
 
62
- In config/environments/test.rb:
59
+ In config/environment.rb:
63
60
 
64
61
  <pre>
65
- config.gem 'webrat',
66
- :version => '= 0.4.4'
67
- config.gem 'cucumber',
68
- :version => '= 0.3.0'
69
- config.gem 'thoughtbot-factory_girl',
70
- :lib => 'factory_girl',
71
- :source => "http://gems.github.com",
72
- :version => '1.2.1'
62
+ DO_NOT_REPLY = "donotreply@example.com"
73
63
  </pre>
74
64
 
75
- Vendor the gems:
65
+ Define root_url to *something* in your config/routes.rb:
76
66
 
77
67
  <pre>
78
- rake gems:install RAILS_ENV=test
79
- rake gems:unpack RAILS_ENV=test
68
+ map.root :controller => 'home'
80
69
  </pre>
81
70
 
82
- We don't vendor nokogiri due to its native extensions, so install it normally on your machine:
71
+ h2. Cucumber Features
83
72
 
84
- @sudo gem install nokogiri@
73
+ As your app evolves, you want to know that authentication still works. thoughtbot's opinion is that you should test its integration with your app using "Cucumber":http://cukes.info/.
85
74
 
86
75
  Run the Cucumber generator (if you haven't already) and Clearance's feature generator:
87
76
 
@@ -106,6 +95,18 @@ def path_to(page_name)
106
95
  end
107
96
  </pre>
108
97
 
98
+ h2. Formtastic views
99
+
100
+ We have begun standardizing our forms using "Formtastic":http://github.com/justinfrench/formtastic. We highly recommend trying it. It will make your Rails view life more interesting.
101
+
102
+ Clearance has another generator to generate Formastic views:
103
+
104
+ <pre>
105
+ script/generate clearance_views
106
+ </pre>
107
+
108
+ Its implementation is designed so that other view styles can be generated if the community wants it. However, we haven't needed them so you'll have to write the patch and send it back if you want other styles (such as Haml).
109
+
109
110
  h2. Authors
110
111
 
111
112
  Clearance was extracted out of "Hoptoad":http://hoptoadapp.com. We merged the authentication code from two of thoughtbot's clients' Rails apps and have since used it each time we need authentication. The following people have improved the library. Thank you!
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(:all => ["generator:cleanup",
9
- "generator:generate"]) do |task|
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,36 +47,45 @@ 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 on the tests"
44
- task :generate do
45
- generators.each do |generator|
46
- system "cd test/rails_root && ./script/generate #{generator} && rake db:migrate db:test:prepare"
47
- end
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:all', 'test:features']
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.6.9.3"
57
- gem_spec.summary = "Rails authentication with email & password and invitations."
83
+ gem_spec.version = "0.7.0"
84
+ gem_spec.summary = "Forked thoughbot/clearance. Rails authentication with email & password."
58
85
  gem_spec.email = "matt@tonkapark.com"
59
- gem_spec.homepage = "http://github.com/tonkapark/clearance"
60
- gem_spec.description = "Rails authentication with email & password and invitations."
61
- gem_spec.authors = ["Dan Croak", "Mike Burns", "Jason Morrison",
62
- "Joe Ferris", "Eugene Bolshakov", "Nick Quaranto",
63
- "Josh Nichols", "Mike Breen", "Marcel Görner",
64
- "Bence Nagy", "Ben Mabey", "Eloy Duran",
65
- "Tim Pope", "Mihai Anca", "Mark Cornick",
66
- "Shay Arnett"]
86
+ gem_spec.homepage = "http://github.com/thoughtbot/clearance"
87
+ gem_spec.description = "Rails authentication with email & password."
88
+ gem_spec.authors = ["Matt Anderson"]
67
89
  gem_spec.files = FileList["[A-Z]*", "{app,config,generators,lib,shoulda_macros,rails}/**/*"]
68
90
  end
69
91
 
data/TODO.textile CHANGED
@@ -1,5 +1,6 @@
1
+ h1. To-do
1
2
 
2
- h1. Tonka Park FORK TODO
3
+ * Make insertion of Clearance::User into User model automatic from the generator.
4
+ * Change generated README to include instruction about running the migration.
5
+ * DO_NOT_REPLY, HOST refactoring.
3
6
 
4
- * Allow users to invite users
5
- * Resend invitation
@@ -1,9 +1,11 @@
1
1
  class Clearance::ConfirmationsController < ApplicationController
2
2
  unloadable
3
3
 
4
- before_filter :forbid_confirmed_user, :only => [:new, :create]
5
- before_filter :forbid_missing_token, :only => [:new, :create]
6
- before_filter :forbid_non_existent_user, :only => [:new, :create]
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 forbid_confirmed_user
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
- raise ActionController::Forbidden, "confirmed user"
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
@@ -68,7 +68,7 @@ class Clearance::PasswordsController < ApplicationController
68
68
  end
69
69
 
70
70
  def url_after_create
71
- signin_url
71
+ new_session_url
72
72
  end
73
73
 
74
74
  def flash_success_after_update
@@ -62,6 +62,6 @@ class Clearance::SessionsController < ApplicationController
62
62
  end
63
63
 
64
64
  def url_after_destroy
65
- signin_url
65
+ new_session_url
66
66
  end
67
67
  end
@@ -4,9 +4,8 @@ class Clearance::UsersController < ApplicationController
4
4
  before_filter :redirect_to_root, :only => [:new, :create], :if => :signed_in?
5
5
  filter_parameter_logging :password
6
6
 
7
- def new
8
- @user = ::User.new(:invitation_token => params[:invitation_token])
9
- @user.email = @user.invitation.recipient_email if @user.invitation
7
+ def new
8
+ @user = ::User.new(params[:user])
10
9
  render :template => 'users/new'
11
10
  end
12
11
 
@@ -31,6 +30,6 @@ class Clearance::UsersController < ApplicationController
31
30
  end
32
31
 
33
32
  def url_after_create
34
- signin_url
33
+ new_session_url
35
34
  end
36
35
  end
@@ -1,22 +1,9 @@
1
1
  class ClearanceMailer < ActionMailer::Base
2
2
 
3
- def self.config_file
4
- File.join(RAILS_ROOT, 'config', 'clearance.yml')
5
- end
6
-
7
- def self.config
8
- YAML.load(File.read(config_file)).with_indifferent_access[RAILS_ENV]
9
- end
10
-
11
- def config
12
- self.class.config
13
- end
14
-
15
- default_url_options[:host] = config[:host]
16
-
3
+ default_url_options[:host] = HOST
17
4
 
18
5
  def change_password(user)
19
- from config[:do_not_reply]
6
+ from DO_NOT_REPLY
20
7
  recipients user.email
21
8
  subject I18n.t(:change_password,
22
9
  :scope => [:clearance, :models, :clearance_mailer],
@@ -25,21 +12,12 @@ class ClearanceMailer < ActionMailer::Base
25
12
  end
26
13
 
27
14
  def confirmation(user)
28
- from config[:do_not_reply]
15
+ from DO_NOT_REPLY
29
16
  recipients user.email
30
17
  subject I18n.t(:confirmation,
31
18
  :scope => [:clearance, :models, :clearance_mailer],
32
19
  :default => "Account confirmation")
33
20
  body :user => user
34
21
  end
35
-
36
- def invitation(invitation, url)
37
- subject config[:invitation_subject_line]
38
- recipients invitation.recipient_email
39
- from config[:invitation_from_email]
40
- body :invitation => invitation, :signup_url => url
41
- invitation.update_attribute(:invited_at, Time.now)
42
- end
43
-
44
22
 
45
23
  end
@@ -9,17 +9,15 @@
9
9
  <% form_for(:user,
10
10
  :url => user_password_path(@user, :token => @user.token),
11
11
  :html => { :method => :put }) do |form| %>
12
- <ul>
13
- <li>
14
- <%= form.label :password, "Choose password" %>
15
- <%= form.password_field :password, {:class => "big"} %>
16
- </li>
17
- <li>
18
- <%= form.label :password_confirmation, "Confirm password" %>
19
- <%= form.password_field :password_confirmation, {:class => "big"} %>
20
- </li>
21
- <li class="submit">
22
- <%= form.submit "Save this password", :disable_with => "Please wait..." %>
23
- </li>
24
- </ul>
25
- <% end %>
12
+ <div class="password_field">
13
+ <%= form.label :password, "Choose password" %>
14
+ <%= form.password_field :password %>
15
+ </div>
16
+ <div class="password_field">
17
+ <%= form.label :password_confirmation, "Confirm password" %>
18
+ <%= form.password_field :password_confirmation %>
19
+ </div>
20
+ <div class="submit_field">
21
+ <%= form.submit "Save this password", :disable_with => "Please wait..." %>
22
+ </div>
23
+ <% end %>
@@ -1,16 +1,15 @@
1
1
  <h2>Change your password</h2>
2
+
2
3
  <p>
3
4
  We will email you a link to change your password.
4
5
  </p>
5
6
 
6
7
  <% form_for :password, :url => passwords_path do |form| %>
7
- <ul>
8
- <li>
9
- <%= form.label :email, "Email address" %>
10
- <%= form.text_field :email, {:class => "big"} %>
11
- </li>
12
- <li class="submit">
13
- <%= form.submit "Reset password", :disable_with => "Please wait..." %>
14
- </li>
15
- </ul>
16
- <% end %>
8
+ <div class="text_field">
9
+ <%= form.label :email, "Email address" %>
10
+ <%= form.text_field :email %>
11
+ </div>
12
+ <div class="submit_field">
13
+ <%= form.submit "Reset password", :disable_with => "Please wait..." %>
14
+ </div>
15
+ <% end %>
@@ -1,3 +1,28 @@
1
1
  <h2>Sign in</h2>
2
2
 
3
- <%= render :partial => 'sessions/form' %>
3
+ <% form_for :session, :url => session_path do |form| %>
4
+ <div class="text_field">
5
+ <%= form.label :email %>
6
+ <%= form.text_field :email %>
7
+ </div>
8
+ <div class="text_field">
9
+ <%= form.label :password %>
10
+ <%= form.password_field :password %>
11
+ </div>
12
+ <div class="text_field">
13
+ <%= form.check_box :remember_me %>
14
+ <%= form.label :remember_me %>
15
+ </div>
16
+ <div class="submit_field">
17
+ <%= form.submit "Sign in", :disable_with => "Please wait..." %>
18
+ </div>
19
+ <% end %>
20
+
21
+ <ul>
22
+ <li>
23
+ <%= link_to "Sign up", sign_up_path %>
24
+ </li>
25
+ <li>
26
+ <%= link_to "Forgot password?", recover_password_path %>
27
+ </li>
28
+ </ul>
@@ -0,0 +1,13 @@
1
+ <%= form.error_messages %>
2
+ <div class="text_field">
3
+ <%= form.label :email %>
4
+ <%= form.text_field :email %>
5
+ </div>
6
+ <div class="password_field">
7
+ <%= form.label :password %>
8
+ <%= form.password_field :password %>
9
+ </div>
10
+ <div class="password_field">
11
+ <%= form.label :password_confirmation, "Confirm password" %>
12
+ <%= form.password_field :password_confirmation %>
13
+ </div>
@@ -1,4 +1,6 @@
1
- <h2>Signup</h2>
2
-
3
- <%= render :partial => 'users/user', :locals => {:button_name => "Create my account"} %>
1
+ <h2>Sign up</h2>
4
2
 
3
+ <% form_for @user do |form| %>
4
+ <%= render :partial => '/users/form', :object => form %>
5
+ <%= form.submit 'Sign up', :disable_with => 'Please wait...' %>
6
+ <% end %>
data/clearance.gemspec CHANGED
@@ -1,34 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clearance
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.9.3
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
- - Dan Croak
8
- - Mike Burns
9
- - Jason Morrison
10
- - Joe Ferris
11
- - Eugene Bolshakov
12
- - Nick Quaranto
13
- - Josh Nichols
14
- - Mike Breen
15
- - "Marcel G\xC3\xB6rner"
16
- - Bence Nagy
17
- - Ben Mabey
18
- - Eloy Duran
19
- - Tim Pope
20
- - Mihai Anca
21
- - Mark Cornick
22
- - Shay Arnett
7
+ - Matt Anderson
23
8
  autorequire:
24
9
  bindir: bin
25
10
  cert_chain: []
26
11
 
27
- date: 2009-07-16 00:00:00 -05:00
12
+ date: 2009-08-27 00:00:00 -05:00
28
13
  default_executable:
29
14
  dependencies: []
30
15
 
31
- description: Rails authentication with email & password and invitations.
16
+ description: Rails authentication with email & password.
32
17
  email: matt@tonkapark.com
33
18
  executables: []
34
19
 
@@ -53,7 +38,6 @@ files:
53
38
  - app/controllers
54
39
  - app/controllers/clearance
55
40
  - app/controllers/clearance/confirmations_controller.rb
56
- - app/controllers/clearance/invitations_controller.rb
57
41
  - app/controllers/clearance/passwords_controller.rb
58
42
  - app/controllers/clearance/sessions_controller.rb
59
43
  - app/controllers/clearance/users_controller.rb
@@ -63,7 +47,6 @@ files:
63
47
  - app/views/clearance_mailer
64
48
  - app/views/clearance_mailer/change_password.html.erb
65
49
  - app/views/clearance_mailer/confirmation.html.erb
66
- - app/views/clearance_mailer/invitation.html.erb
67
50
  - app/views/passwords
68
51
  - app/views/passwords/edit.html.erb
69
52
  - app/views/passwords/new.html.erb
@@ -71,10 +54,7 @@ files:
71
54
  - app/views/sessions/new.html.erb
72
55
  - app/views/users
73
56
  - app/views/users/new.html.erb
74
- - app/views/users/_user.html.erb
75
- - app/views/invitations
76
- - app/views/invitations/new.html.erb
77
- - app/views/invitations/index.html.erb
57
+ - app/views/users/_form.html.erb
78
58
  - config/clearance_routes.rb
79
59
  - generators/clearance
80
60
  - generators/clearance/clearance_generator.rb
@@ -86,11 +66,8 @@ files:
86
66
  - generators/clearance/templates/migrations
87
67
  - generators/clearance/templates/migrations/create_users.rb
88
68
  - generators/clearance/templates/migrations/update_users.rb
89
- - generators/clearance/templates/migrations/create_invitations.rb
90
- - generators/clearance/templates/migrations/update_invitations.rb
91
69
  - generators/clearance/templates/README
92
70
  - generators/clearance/templates/user.rb
93
- - generators/clearance/templates/invitation.rb
94
71
  - generators/clearance/USAGE
95
72
  - generators/clearance_features
96
73
  - generators/clearance_features/clearance_features_generator.rb
@@ -106,19 +83,31 @@ files:
106
83
  - generators/clearance_features/templates/features/support
107
84
  - generators/clearance_features/templates/features/support/paths.rb
108
85
  - generators/clearance_features/USAGE
86
+ - generators/clearance_views
87
+ - generators/clearance_views/clearance_views_generator.rb
88
+ - generators/clearance_views/templates
89
+ - generators/clearance_views/templates/formtastic
90
+ - generators/clearance_views/templates/formtastic/passwords
91
+ - generators/clearance_views/templates/formtastic/passwords/edit.html.erb
92
+ - generators/clearance_views/templates/formtastic/passwords/new.html.erb
93
+ - generators/clearance_views/templates/formtastic/sessions
94
+ - generators/clearance_views/templates/formtastic/sessions/new.html.erb
95
+ - generators/clearance_views/templates/formtastic/users
96
+ - generators/clearance_views/templates/formtastic/users/new.html.erb
97
+ - generators/clearance_views/templates/formtastic/users/_inputs.html.erb
98
+ - generators/clearance_views/USAGE
109
99
  - lib/clearance
110
100
  - lib/clearance/authentication.rb
111
101
  - lib/clearance/extensions
112
102
  - lib/clearance/extensions/errors.rb
113
103
  - lib/clearance/extensions/rescue.rb
114
104
  - lib/clearance/extensions/routes.rb
115
- - lib/clearance/invitation.rb
116
105
  - lib/clearance/user.rb
117
106
  - lib/clearance.rb
118
107
  - shoulda_macros/clearance.rb
119
108
  - rails/init.rb
120
109
  has_rdoc: true
121
- homepage: http://github.com/tonkapark/clearance
110
+ homepage: http://github.com/thoughtbot/clearance
122
111
  licenses: []
123
112
 
124
113
  post_install_message:
@@ -144,6 +133,6 @@ rubyforge_project:
144
133
  rubygems_version: 1.3.4
145
134
  signing_key:
146
135
  specification_version: 3
147
- summary: Rails authentication with email & password.
136
+ summary: Forked thoughbot/clearance. Rails authentication with email & password.
148
137
  test_files: []
149
138