clearance 1.0.0.rc1 → 1.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of clearance might be problematic. Click here for more details.

data/Appraisals CHANGED
@@ -1,4 +1,4 @@
1
- ['3.0.15', '3.1.6', '3.2.6'].each do |rails_version|
1
+ ['3.0.17', '3.1.8', '3.2.8'].each do |rails_version|
2
2
  appraise "#{rails_version}" do
3
3
  gem 'rails', rails_version
4
4
  end
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- clearance (1.0.0.rc1)
4
+ clearance (1.0.0.rc2)
5
5
  bcrypt-ruby
6
6
  diesel (= 0.1.5)
7
7
  rails (>= 3.0)
@@ -36,7 +36,7 @@ GEM
36
36
  activesupport (3.2.6)
37
37
  i18n (~> 0.6)
38
38
  multi_json (~> 1.0)
39
- addressable (2.3.1)
39
+ addressable (2.3.2)
40
40
  appraisal (0.4.1)
41
41
  bundler
42
42
  rake
@@ -166,7 +166,7 @@ DEPENDENCIES
166
166
  appraisal (= 0.4.1)
167
167
  aruba (= 0.4.11)
168
168
  bourne (= 1.1.2)
169
- bundler (= 1.1.3)
169
+ bundler (~> 1.2.0)
170
170
  capybara (= 1.1.2)
171
171
  clearance!
172
172
  cucumber-rails (= 1.1.1)
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License
2
2
 
3
- Copyright (c) 2008-2011 thoughtbot, inc.
3
+ Copyright (c) 2009-2012 thoughtbot, inc.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/NEWS.md CHANGED
@@ -7,8 +7,7 @@ New for 1.0.0:
7
7
  * A revamped, more descriptive README.
8
8
  * More extension points in more controllers.
9
9
  * The email, encrypted_password, and remember_token fields of the users
10
- table cannot be NULL.
11
- * We do not support adding Clearance after-the-fact.
10
+ table are NOT NULL in the default migration.
12
11
  * We support Test::Unit.
13
12
  * Drop Rails plugin support.
14
13
  * Add SignedIn and SignedOut routing constraints.
data/README.md CHANGED
@@ -1,41 +1,47 @@
1
- Clearance [![Build Status](https://secure.travis-ci.org/thoughtbot/clearance.png)](http://travis-ci.org/thoughtbot/clearance?branch=master)
1
+ Clearance
2
2
  =========
3
3
 
4
+ [![Build Status](https://secure.travis-ci.org/thoughtbot/clearance.png)](http://travis-ci.org/thoughtbot/clearance?branch=master)
5
+ [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/thoughtbot/clearance)
6
+
4
7
  Rails authentication & authorization with email & password.
5
8
 
6
- Clearance was extracted out of [Airbrake](http://airbrakeapp.com/). It is intended to be small, simple, well-tested, and easy to override defaults.
9
+ Clearance was extracted out of [Airbrake](http://airbrakeapp.com/).
10
+ It is intended to be small, simple, well-tested, and easy to override defaults.
7
11
 
8
- Use [Github Issues](http://github.com/thoughtbot/clearance/issues) for help.
12
+ Use [Github Issues](/thoughtbot/clearance/issues) for help.
9
13
 
10
- Read [CONTRIBUTING.md](https://github.com/thoughtbot/clearance/blob/master/config/routes.rb) to contribute.
14
+ Read [CONTRIBUTING.md](/thoughtbot/clearance/blob/master/CONTRIBUTING.md) to contribute.
11
15
 
12
16
  Install
13
17
  -------
14
18
 
15
- Clearance is a Rails engine for Rails 3 on Ruby 1.9.2. It is currently
16
- tested against Rails 3.0.12, 3.1.4, and 3.2.3.
19
+ Clearance is a Rails engine tested against
20
+ [Rails 3.x](/thoughtbot/clearance/blob/master/Appraisals) on Ruby 1.9.x.
17
21
 
18
22
  Include the gem in your Gemfile:
19
23
 
20
- gem 'clearance'
24
+ gem 'clearance', '1.0.0.rc2'
25
+
26
+ Bundle:
27
+
28
+ bundle --binstubs
21
29
 
22
- Make sure the development database exists, then run the generator:
30
+ Make sure the development database exists. Then, run the generator:
23
31
 
24
32
  rails generate clearance:install
25
33
 
26
- This:
34
+ The generator:
27
35
 
28
36
  * inserts Clearance::User into your User model
29
37
  * inserts Clearance::Authentication into your ApplicationController
30
38
  * creates a migration that either creates a users table or adds only missing columns
31
39
 
32
- Follow the instructions that are output from the generator.
40
+ Then, follow the instructions output from the generator.
33
41
 
34
- Use the [0.8.x](https://github.com/thoughtbot/clearance/tree/v0.8.8)
35
- series of Clearance if you have a Rails 2 app.
42
+ Use the [0.8.x](/thoughtbot/clearance/tree/v0.8.8) series for Rails 2 apps.
36
43
 
37
- Use version [0.16.3](http://rubygems.org/gems/clearance/versions/0.16.3)
38
- for Ruby 1.8.7.
44
+ Use [0.16.3](http://rubygems.org/gems/clearance/versions/0.16.3) for Ruby 1.8.7.
39
45
 
40
46
  Configure
41
47
  ---------
@@ -52,49 +58,49 @@ Override any of the defaults in `config/initializers/clearance.rb`:
52
58
  Use
53
59
  ---
54
60
 
55
- Use `authorize` and `current_user` in controllers:
56
-
57
- class ArticlesController < ApplicationController
58
- before_filter :authorize
59
-
60
- def index
61
- current_user.articles
62
- end
63
- end
64
-
65
- Use `signed_in?` and `signed_out?` in controllers, views, or helpers. For example,
66
- you might want this in a layout:
61
+ Use `current_user`, `signed_in?`, and `signed_out?` in controllers, views, and
62
+ helpers. For example:
67
63
 
68
64
  - if signed_in?
69
65
  = current_user.email
70
- = link_to 'Sign out', sign_out_path, :method => :delete
66
+ = link_to 'Sign out', sign_out_path, method: :delete
71
67
  - else
72
68
  = link_to 'Sign in', sign_in_path
73
69
 
74
- If you want to authenticate a user elsewhere than sessions/new, like in an API:
70
+ To authenticate a user elsewhere than `sessions/new` (like in an API):
75
71
 
76
72
  User.authenticate 'email@example.com', 'password'
77
73
 
78
- When a user resets their password, Clearance delivers them an email on. Therefore,
79
- you should change the default email address in `config/initializers/clearance.rb`:
74
+ When a user resets their password, Clearance delivers them an email. So, you
75
+ should change the `mailer_sender` default, used in the email's "from" header:
80
76
 
81
77
  Clearance.configure do |config|
82
78
  config.mailer_sender = 'reply@example.com'
83
79
  end
84
80
 
85
- You can authorize users at the route level:
81
+ Use `authorize` to control access in controllers:
82
+
83
+ class ArticlesController < ApplicationController
84
+ before_filter :authorize
85
+
86
+ def index
87
+ current_user.articles
88
+ end
89
+ end
90
+
91
+ Or, you can authorize users in `config/routes.rb`:
86
92
 
87
93
  Blog::Application.routes.draw do
88
94
  constraints Clearance::Constraints::SignedIn.new { |user| user.admin? } do
89
- root :to => 'admin'
95
+ root to: 'admin'
90
96
  end
91
97
 
92
98
  constraints Clearance::Constraints::SignedIn.new do
93
- root :to => 'dashboard'
99
+ root to: 'dashboard'
94
100
  end
95
101
 
96
102
  constraints Clearance::Constraints::SignedOut.new do
97
- root :to => 'marketing'
103
+ root to: 'marketing'
98
104
  end
99
105
  end
100
106
 
@@ -118,16 +124,18 @@ Rack applications can interact with it:
118
124
  Overriding routes
119
125
  -----------------
120
126
 
121
- See [config/routes.rb](https://github.com/thoughtbot/clearance/blob/master/config/routes.rb) for the default behavior.
127
+ See [config/routes.rb](/thoughtbot/clearance/blob/master/config/routes.rb) for
128
+ the default behavior.
122
129
 
123
130
  To override a Clearance route, redefine it:
124
131
 
125
- resource :session, :controller => 'sessions'
132
+ resource :session, controller: 'sessions'
126
133
 
127
134
  Overriding controllers
128
135
  ----------------------
129
136
 
130
- See [app/controllers/clearance](https://github.com/thoughtbot/clearance/tree/master/app/controllers/clearance) for the default behavior.
137
+ See [app/controllers/clearance](/thoughtbot/clearance/tree/master/app/controllers/clearance)
138
+ for the default behavior.
131
139
 
132
140
  To override a Clearance controller, subclass it:
133
141
 
@@ -177,8 +185,8 @@ Override them like any other translation.
177
185
  Overriding views
178
186
  ----------------
179
187
 
180
- See [app/views](https://github.com/thoughtbot/clearance/tree/master/app/views)
181
- for the default behavior.
188
+ See [app/views](/thoughtbot/clearance/tree/master/app/views) for the default
189
+ behavior.
182
190
 
183
191
  To override a view, create your own:
184
192
 
@@ -198,30 +206,31 @@ There is a shortcut to copy all Clearance views into your app:
198
206
  Overriding the model
199
207
  --------------------
200
208
 
201
- See [lib/clearance/user.rb](https://github.com/thoughtbot/clearance/tree/master/lib/clearance/user.rb)
209
+ See [lib/clearance/user.rb](/thoughtbot/clearance/tree/master/lib/clearance/user.rb)
202
210
  for the default behavior.
203
211
 
204
212
  To override the model, redefine public methods:
205
213
 
206
- self.authenticate(email, password)
207
- forgot_password!
208
- reset_remember_token!
209
- update_password(new_password)
214
+ .authenticate(email, password)
215
+ #forgot_password!
216
+ #reset_remember_token!
217
+ #update_password(new_password)
210
218
 
211
219
  Or, redefine private methods:
212
220
 
213
- downcase_email
214
- email_optional?
215
- generate_confirmation_token
216
- generate_remember_token
217
- password_optional?
221
+ #downcase_email
222
+ #email_optional?
223
+ #generate_confirmation_token
224
+ #generate_remember_token
225
+ #password_optional?
218
226
 
219
227
  Overriding the password strategy
220
228
  --------------------------------
221
229
 
222
230
  By default, Clearance uses BCrypt encryption of the user's password.
223
231
 
224
- See [lib/clearance/password_strategies/bcrypt.rb](https://github.com/thoughtbot/clearance/blob/master/lib/clearance/password_strategies/bcrypt.rb) for the default behavior.
232
+ See [lib/clearance/password_strategies/bcrypt.rb](/thoughtbot/clearance/blob/master/lib/clearance/password_strategies/bcrypt.rb)
233
+ for the default behavior.
225
234
 
226
235
  Change your password strategy in `config/initializers/clearance.rb:`
227
236
 
@@ -242,11 +251,11 @@ Switching password strategies may cause your existing users to not be able to si
242
251
 
243
252
  If you have an existing app that used the old `SHA1` strategy and you
244
253
  want to stay with SHA1, use
245
- [Clearance::PasswordStrategies::SHA1](https://github.com/thoughtbot/clearance/blob/master/lib/clearance/password_strategies/sha1.rb).
254
+ [Clearance::PasswordStrategies::SHA1](/thoughtbot/clearance/blob/master/lib/clearance/password_strategies/sha1.rb).
246
255
 
247
256
  If you have an existing app that used the old `SHA1` strategy and you
248
257
  want to switch to BCrypt transparently, use
249
- [Clearance::PasswordStrategies::BCryptMigrationFromSHA1](https://github.com/thoughtbot/clearance/blob/master/lib/clearance/password_strategies/bcrypt_migration_from_sha1.rb).
258
+ [Clearance::PasswordStrategies::BCryptMigrationFromSHA1](/thoughtbot/clearance/blob/master/lib/clearance/password_strategies/bcrypt_migration_from_sha1.rb).
250
259
 
251
260
  The SHA1 and Blowfish password strategies require an additional `salt` column in
252
261
  the `users` table. Run this migration before switching to SHA or Blowfish:
@@ -294,9 +303,9 @@ Edit your Gemfile to include:
294
303
 
295
304
  gem 'factory_girl_rails'
296
305
 
297
- Edit config/enviroments/test.rb to include the following:
306
+ Edit `config/enviroments/test.rb` to include the following:
298
307
 
299
- config.action_mailer.default_url_options = { :host => 'localhost:3000' }
308
+ config.action_mailer.default_url_options = { host: 'localhost:3000' }
300
309
 
301
310
  Then run your tests!
302
311
 
@@ -345,20 +354,21 @@ Example:
345
354
  You may want to customize the tests:
346
355
 
347
356
  it { should deny_access }
348
- it { should deny_access(:flash => 'Denied access.') }
349
- it { should deny_access(:redirect => sign_in_url) }
357
+ it { should deny_access(flash: 'Denied access.') }
358
+ it { should deny_access(redirect: sign_in_url) }
350
359
 
351
360
  Credits
352
361
  -------
353
362
 
354
363
  ![thoughtbot](http://thoughtbot.com/images/tm/logo.png)
355
364
 
356
- Clearance is maintained by [thoughtbot, inc](http://thoughtbot.com/community).
357
- Thank you to all [the contributors](https://github.com/thoughtbot/clearance/contributors)!
365
+ Clearance is maintained by [thoughtbot, inc](http://thoughtbot.com/community)
366
+ and [contributors](/thoughtbot/clearance/contributors) like you. Thank you!
358
367
 
359
368
  License
360
369
  -------
361
370
 
362
- Clearance is copyright © 2009-2012 thoughtbot. It is free software, and may be redistributed under the terms specified in the LICENSE file.
371
+ Clearance is copyright © 2009-2012 thoughtbot. It is free software, and may be
372
+ redistributed under the terms specified in the `LICENSE` file.
363
373
 
364
374
  The names and logos for thoughtbot are trademarks of thoughtbot, inc.
data/clearance.gemspec CHANGED
@@ -28,7 +28,7 @@ Gem::Specification.new do |s|
28
28
  s.add_development_dependency 'appraisal', '0.4.1'
29
29
  s.add_development_dependency 'aruba', '0.4.11'
30
30
  s.add_development_dependency 'bourne', '1.1.2'
31
- s.add_development_dependency 'bundler', '1.1.3'
31
+ s.add_development_dependency 'bundler', '~> 1.2.0'
32
32
  s.add_development_dependency 'capybara', '1.1.2'
33
33
  s.add_development_dependency 'cucumber-rails', '1.1.1'
34
34
  s.add_development_dependency 'database_cleaner', '0.8.0'
@@ -2,6 +2,6 @@
2
2
 
3
3
  source "http://rubygems.org"
4
4
 
5
- gem "rails", "3.0.15"
5
+ gem "rails", "3.0.17"
6
6
 
7
7
  gemspec :path=>"../"
@@ -1,7 +1,7 @@
1
1
  PATH
2
- remote: /home/mike/thoughtbot/clearance
2
+ remote: /Users/croaky/dev/clearance
3
3
  specs:
4
- clearance (1.0.0.rc1)
4
+ clearance (1.0.0.rc2)
5
5
  bcrypt-ruby
6
6
  diesel (= 0.1.5)
7
7
  rails (>= 3.0)
@@ -10,12 +10,12 @@ GEM
10
10
  remote: http://rubygems.org/
11
11
  specs:
12
12
  abstract (1.0.0)
13
- actionmailer (3.0.15)
14
- actionpack (= 3.0.15)
13
+ actionmailer (3.0.17)
14
+ actionpack (= 3.0.17)
15
15
  mail (~> 2.2.19)
16
- actionpack (3.0.15)
17
- activemodel (= 3.0.15)
18
- activesupport (= 3.0.15)
16
+ actionpack (3.0.17)
17
+ activemodel (= 3.0.17)
18
+ activesupport (= 3.0.17)
19
19
  builder (~> 2.1.2)
20
20
  erubis (~> 2.6.6)
21
21
  i18n (~> 0.5.0)
@@ -23,20 +23,20 @@ GEM
23
23
  rack-mount (~> 0.6.14)
24
24
  rack-test (~> 0.5.7)
25
25
  tzinfo (~> 0.3.23)
26
- activemodel (3.0.15)
27
- activesupport (= 3.0.15)
26
+ activemodel (3.0.17)
27
+ activesupport (= 3.0.17)
28
28
  builder (~> 2.1.2)
29
29
  i18n (~> 0.5.0)
30
- activerecord (3.0.15)
31
- activemodel (= 3.0.15)
32
- activesupport (= 3.0.15)
30
+ activerecord (3.0.17)
31
+ activemodel (= 3.0.17)
32
+ activesupport (= 3.0.17)
33
33
  arel (~> 2.0.10)
34
34
  tzinfo (~> 0.3.23)
35
- activeresource (3.0.15)
36
- activemodel (= 3.0.15)
37
- activesupport (= 3.0.15)
38
- activesupport (3.0.15)
39
- addressable (2.3.1)
35
+ activeresource (3.0.17)
36
+ activemodel (= 3.0.17)
37
+ activesupport (= 3.0.17)
38
+ activesupport (3.0.17)
39
+ addressable (2.3.2)
40
40
  appraisal (0.4.1)
41
41
  bundler
42
42
  rake
@@ -57,7 +57,7 @@ GEM
57
57
  rack-test (>= 0.5.4)
58
58
  selenium-webdriver (~> 2.0)
59
59
  xpath (~> 0.1.4)
60
- childprocess (0.3.4)
60
+ childprocess (0.3.5)
61
61
  ffi (~> 1.0, >= 1.0.6)
62
62
  cucumber (1.2.1)
63
63
  builder (>= 2.1.2)
@@ -79,12 +79,12 @@ GEM
79
79
  factory_girl_rails (3.5.0)
80
80
  factory_girl (~> 3.5.0)
81
81
  railties (>= 3.0.0)
82
- ffi (1.1.0)
83
- gherkin (2.11.1)
82
+ ffi (1.1.5)
83
+ gherkin (2.11.2)
84
84
  json (>= 1.4.6)
85
85
  i18n (0.5.0)
86
- json (1.7.3)
87
- libwebsocket (0.1.4)
86
+ json (1.7.5)
87
+ libwebsocket (0.1.5)
88
88
  addressable
89
89
  mail (2.2.19)
90
90
  activesupport (>= 2.3.6)
@@ -103,17 +103,17 @@ GEM
103
103
  rack (>= 1.0.0)
104
104
  rack-test (0.5.7)
105
105
  rack (>= 1.0)
106
- rails (3.0.15)
107
- actionmailer (= 3.0.15)
108
- actionpack (= 3.0.15)
109
- activerecord (= 3.0.15)
110
- activeresource (= 3.0.15)
111
- activesupport (= 3.0.15)
106
+ rails (3.0.17)
107
+ actionmailer (= 3.0.17)
108
+ actionpack (= 3.0.17)
109
+ activerecord (= 3.0.17)
110
+ activeresource (= 3.0.17)
111
+ activesupport (= 3.0.17)
112
112
  bundler (~> 1.0)
113
- railties (= 3.0.15)
114
- railties (3.0.15)
115
- actionpack (= 3.0.15)
116
- activesupport (= 3.0.15)
113
+ railties (= 3.0.17)
114
+ railties (3.0.17)
115
+ actionpack (= 3.0.17)
116
+ activesupport (= 3.0.17)
117
117
  rake (>= 0.8.7)
118
118
  rdoc (~> 3.4)
119
119
  thor (~> 0.14.4)
@@ -125,9 +125,9 @@ GEM
125
125
  rspec-expectations (~> 2.11.0)
126
126
  rspec-mocks (~> 2.11.0)
127
127
  rspec-core (2.11.1)
128
- rspec-expectations (2.11.1)
128
+ rspec-expectations (2.11.3)
129
129
  diff-lcs (~> 1.1.3)
130
- rspec-mocks (2.11.1)
130
+ rspec-mocks (2.11.2)
131
131
  rspec-rails (2.11.0)
132
132
  actionpack (>= 3.0)
133
133
  activesupport (>= 3.0)
@@ -158,13 +158,13 @@ DEPENDENCIES
158
158
  appraisal (= 0.4.1)
159
159
  aruba (= 0.4.11)
160
160
  bourne (= 1.1.2)
161
- bundler (= 1.1.3)
161
+ bundler (~> 1.2.0)
162
162
  capybara (= 1.1.2)
163
163
  clearance!
164
164
  cucumber-rails (= 1.1.1)
165
165
  database_cleaner (= 0.8.0)
166
166
  factory_girl_rails (= 3.5.0)
167
- rails (= 3.0.15)
167
+ rails (= 3.0.17)
168
168
  rspec-rails (= 2.11.0)
169
169
  shoulda-matchers (= 1.2.0)
170
170
  sqlite3 (= 1.3.6)
@@ -2,6 +2,6 @@
2
2
 
3
3
  source "http://rubygems.org"
4
4
 
5
- gem "rails", "3.2.6"
5
+ gem "rails", "3.1.8"
6
6
 
7
7
  gemspec :path=>"../"
@@ -1,7 +1,7 @@
1
1
  PATH
2
- remote: /home/mike/thoughtbot/clearance
2
+ remote: /Users/croaky/dev/clearance
3
3
  specs:
4
- clearance (1.0.0.rc1)
4
+ clearance (1.0.0.rc2)
5
5
  bcrypt-ruby
6
6
  diesel (= 0.1.5)
7
7
  rails (>= 3.0)
@@ -9,12 +9,12 @@ PATH
9
9
  GEM
10
10
  remote: http://rubygems.org/
11
11
  specs:
12
- actionmailer (3.1.6)
13
- actionpack (= 3.1.6)
12
+ actionmailer (3.1.8)
13
+ actionpack (= 3.1.8)
14
14
  mail (~> 2.3.3)
15
- actionpack (3.1.6)
16
- activemodel (= 3.1.6)
17
- activesupport (= 3.1.6)
15
+ actionpack (3.1.8)
16
+ activemodel (= 3.1.8)
17
+ activesupport (= 3.1.8)
18
18
  builder (~> 3.0.0)
19
19
  erubis (~> 2.7.0)
20
20
  i18n (~> 0.6)
@@ -23,21 +23,21 @@ GEM
23
23
  rack-mount (~> 0.8.2)
24
24
  rack-test (~> 0.6.1)
25
25
  sprockets (~> 2.0.4)
26
- activemodel (3.1.6)
27
- activesupport (= 3.1.6)
26
+ activemodel (3.1.8)
27
+ activesupport (= 3.1.8)
28
28
  builder (~> 3.0.0)
29
29
  i18n (~> 0.6)
30
- activerecord (3.1.6)
31
- activemodel (= 3.1.6)
32
- activesupport (= 3.1.6)
30
+ activerecord (3.1.8)
31
+ activemodel (= 3.1.8)
32
+ activesupport (= 3.1.8)
33
33
  arel (~> 2.2.3)
34
34
  tzinfo (~> 0.3.29)
35
- activeresource (3.1.6)
36
- activemodel (= 3.1.6)
37
- activesupport (= 3.1.6)
38
- activesupport (3.1.6)
35
+ activeresource (3.1.8)
36
+ activemodel (= 3.1.8)
37
+ activesupport (= 3.1.8)
38
+ activesupport (3.1.8)
39
39
  multi_json (>= 1.0, < 1.3)
40
- addressable (2.3.1)
40
+ addressable (2.3.2)
41
41
  appraisal (0.4.1)
42
42
  bundler
43
43
  rake
@@ -50,7 +50,7 @@ GEM
50
50
  bcrypt-ruby (3.0.1)
51
51
  bourne (1.1.2)
52
52
  mocha (= 0.10.5)
53
- builder (3.0.0)
53
+ builder (3.0.3)
54
54
  capybara (1.1.2)
55
55
  mime-types (>= 1.16)
56
56
  nokogiri (>= 1.3.3)
@@ -58,7 +58,7 @@ GEM
58
58
  rack-test (>= 0.5.4)
59
59
  selenium-webdriver (~> 2.0)
60
60
  xpath (~> 0.1.4)
61
- childprocess (0.3.4)
61
+ childprocess (0.3.5)
62
62
  ffi (~> 1.0, >= 1.0.6)
63
63
  cucumber (1.2.1)
64
64
  builder (>= 2.1.2)
@@ -79,13 +79,13 @@ GEM
79
79
  factory_girl_rails (3.5.0)
80
80
  factory_girl (~> 3.5.0)
81
81
  railties (>= 3.0.0)
82
- ffi (1.1.0)
83
- gherkin (2.11.1)
82
+ ffi (1.1.5)
83
+ gherkin (2.11.2)
84
84
  json (>= 1.4.6)
85
85
  hike (1.2.1)
86
- i18n (0.6.0)
87
- json (1.7.3)
88
- libwebsocket (0.1.4)
86
+ i18n (0.6.1)
87
+ json (1.7.5)
88
+ libwebsocket (0.1.5)
89
89
  addressable
90
90
  mail (2.3.3)
91
91
  i18n (>= 0.4.0)
@@ -107,17 +107,17 @@ GEM
107
107
  rack
108
108
  rack-test (0.6.1)
109
109
  rack (>= 1.0)
110
- rails (3.1.6)
111
- actionmailer (= 3.1.6)
112
- actionpack (= 3.1.6)
113
- activerecord (= 3.1.6)
114
- activeresource (= 3.1.6)
115
- activesupport (= 3.1.6)
110
+ rails (3.1.8)
111
+ actionmailer (= 3.1.8)
112
+ actionpack (= 3.1.8)
113
+ activerecord (= 3.1.8)
114
+ activeresource (= 3.1.8)
115
+ activesupport (= 3.1.8)
116
116
  bundler (~> 1.0)
117
- railties (= 3.1.6)
118
- railties (3.1.6)
119
- actionpack (= 3.1.6)
120
- activesupport (= 3.1.6)
117
+ railties (= 3.1.8)
118
+ railties (3.1.8)
119
+ actionpack (= 3.1.8)
120
+ activesupport (= 3.1.8)
121
121
  rack-ssl (~> 1.3.2)
122
122
  rake (>= 0.8.7)
123
123
  rdoc (~> 3.4)
@@ -130,9 +130,9 @@ GEM
130
130
  rspec-expectations (~> 2.11.0)
131
131
  rspec-mocks (~> 2.11.0)
132
132
  rspec-core (2.11.1)
133
- rspec-expectations (2.11.1)
133
+ rspec-expectations (2.11.3)
134
134
  diff-lcs (~> 1.1.3)
135
- rspec-mocks (2.11.1)
135
+ rspec-mocks (2.11.2)
136
136
  rspec-rails (2.11.0)
137
137
  actionpack (>= 3.0)
138
138
  activesupport (>= 3.0)
@@ -168,13 +168,13 @@ DEPENDENCIES
168
168
  appraisal (= 0.4.1)
169
169
  aruba (= 0.4.11)
170
170
  bourne (= 1.1.2)
171
- bundler (= 1.1.3)
171
+ bundler (~> 1.2.0)
172
172
  capybara (= 1.1.2)
173
173
  clearance!
174
174
  cucumber-rails (= 1.1.1)
175
175
  database_cleaner (= 0.8.0)
176
176
  factory_girl_rails (= 3.5.0)
177
- rails (= 3.1.6)
177
+ rails (= 3.1.8)
178
178
  rspec-rails (= 2.11.0)
179
179
  shoulda-matchers (= 1.2.0)
180
180
  sqlite3 (= 1.3.6)
@@ -2,6 +2,6 @@
2
2
 
3
3
  source "http://rubygems.org"
4
4
 
5
- gem "rails", "3.1.6"
5
+ gem "rails", "3.2.8"
6
6
 
7
7
  gemspec :path=>"../"
@@ -1,7 +1,7 @@
1
1
  PATH
2
- remote: /home/mike/thoughtbot/clearance
2
+ remote: /Users/croaky/dev/clearance
3
3
  specs:
4
- clearance (1.0.0.rc1)
4
+ clearance (1.0.0.rc2)
5
5
  bcrypt-ruby
6
6
  diesel (= 0.1.5)
7
7
  rails (>= 3.0)
@@ -9,34 +9,34 @@ PATH
9
9
  GEM
10
10
  remote: http://rubygems.org/
11
11
  specs:
12
- actionmailer (3.2.6)
13
- actionpack (= 3.2.6)
12
+ actionmailer (3.2.8)
13
+ actionpack (= 3.2.8)
14
14
  mail (~> 2.4.4)
15
- actionpack (3.2.6)
16
- activemodel (= 3.2.6)
17
- activesupport (= 3.2.6)
15
+ actionpack (3.2.8)
16
+ activemodel (= 3.2.8)
17
+ activesupport (= 3.2.8)
18
18
  builder (~> 3.0.0)
19
19
  erubis (~> 2.7.0)
20
- journey (~> 1.0.1)
20
+ journey (~> 1.0.4)
21
21
  rack (~> 1.4.0)
22
22
  rack-cache (~> 1.2)
23
23
  rack-test (~> 0.6.1)
24
24
  sprockets (~> 2.1.3)
25
- activemodel (3.2.6)
26
- activesupport (= 3.2.6)
25
+ activemodel (3.2.8)
26
+ activesupport (= 3.2.8)
27
27
  builder (~> 3.0.0)
28
- activerecord (3.2.6)
29
- activemodel (= 3.2.6)
30
- activesupport (= 3.2.6)
28
+ activerecord (3.2.8)
29
+ activemodel (= 3.2.8)
30
+ activesupport (= 3.2.8)
31
31
  arel (~> 3.0.2)
32
32
  tzinfo (~> 0.3.29)
33
- activeresource (3.2.6)
34
- activemodel (= 3.2.6)
35
- activesupport (= 3.2.6)
36
- activesupport (3.2.6)
33
+ activeresource (3.2.8)
34
+ activemodel (= 3.2.8)
35
+ activesupport (= 3.2.8)
36
+ activesupport (3.2.8)
37
37
  i18n (~> 0.6)
38
38
  multi_json (~> 1.0)
39
- addressable (2.3.1)
39
+ addressable (2.3.2)
40
40
  appraisal (0.4.1)
41
41
  bundler
42
42
  rake
@@ -49,7 +49,7 @@ GEM
49
49
  bcrypt-ruby (3.0.1)
50
50
  bourne (1.1.2)
51
51
  mocha (= 0.10.5)
52
- builder (3.0.0)
52
+ builder (3.0.3)
53
53
  capybara (1.1.2)
54
54
  mime-types (>= 1.16)
55
55
  nokogiri (>= 1.3.3)
@@ -57,7 +57,7 @@ GEM
57
57
  rack-test (>= 0.5.4)
58
58
  selenium-webdriver (~> 2.0)
59
59
  xpath (~> 0.1.4)
60
- childprocess (0.3.4)
60
+ childprocess (0.3.5)
61
61
  ffi (~> 1.0, >= 1.0.6)
62
62
  cucumber (1.2.1)
63
63
  builder (>= 2.1.2)
@@ -78,14 +78,14 @@ GEM
78
78
  factory_girl_rails (3.5.0)
79
79
  factory_girl (~> 3.5.0)
80
80
  railties (>= 3.0.0)
81
- ffi (1.1.0)
82
- gherkin (2.11.1)
81
+ ffi (1.1.5)
82
+ gherkin (2.11.2)
83
83
  json (>= 1.4.6)
84
84
  hike (1.2.1)
85
- i18n (0.6.0)
85
+ i18n (0.6.1)
86
86
  journey (1.0.4)
87
- json (1.7.3)
88
- libwebsocket (0.1.4)
87
+ json (1.7.5)
88
+ libwebsocket (0.1.5)
89
89
  addressable
90
90
  mail (2.4.4)
91
91
  i18n (>= 0.4.0)
@@ -105,17 +105,17 @@ GEM
105
105
  rack
106
106
  rack-test (0.6.1)
107
107
  rack (>= 1.0)
108
- rails (3.2.6)
109
- actionmailer (= 3.2.6)
110
- actionpack (= 3.2.6)
111
- activerecord (= 3.2.6)
112
- activeresource (= 3.2.6)
113
- activesupport (= 3.2.6)
108
+ rails (3.2.8)
109
+ actionmailer (= 3.2.8)
110
+ actionpack (= 3.2.8)
111
+ activerecord (= 3.2.8)
112
+ activeresource (= 3.2.8)
113
+ activesupport (= 3.2.8)
114
114
  bundler (~> 1.0)
115
- railties (= 3.2.6)
116
- railties (3.2.6)
117
- actionpack (= 3.2.6)
118
- activesupport (= 3.2.6)
115
+ railties (= 3.2.8)
116
+ railties (3.2.8)
117
+ actionpack (= 3.2.8)
118
+ activesupport (= 3.2.8)
119
119
  rack-ssl (~> 1.3.2)
120
120
  rake (>= 0.8.7)
121
121
  rdoc (~> 3.4)
@@ -128,9 +128,9 @@ GEM
128
128
  rspec-expectations (~> 2.11.0)
129
129
  rspec-mocks (~> 2.11.0)
130
130
  rspec-core (2.11.1)
131
- rspec-expectations (2.11.1)
131
+ rspec-expectations (2.11.3)
132
132
  diff-lcs (~> 1.1.3)
133
- rspec-mocks (2.11.1)
133
+ rspec-mocks (2.11.2)
134
134
  rspec-rails (2.11.0)
135
135
  actionpack (>= 3.0)
136
136
  activesupport (>= 3.0)
@@ -149,7 +149,7 @@ GEM
149
149
  rack (~> 1.0)
150
150
  tilt (~> 1.1, != 1.3.0)
151
151
  sqlite3 (1.3.6)
152
- thor (0.15.4)
152
+ thor (0.16.0)
153
153
  tilt (1.3.3)
154
154
  timecop (0.3.5)
155
155
  treetop (1.4.10)
@@ -166,13 +166,13 @@ DEPENDENCIES
166
166
  appraisal (= 0.4.1)
167
167
  aruba (= 0.4.11)
168
168
  bourne (= 1.1.2)
169
- bundler (= 1.1.3)
169
+ bundler (~> 1.2.0)
170
170
  capybara (= 1.1.2)
171
171
  clearance!
172
172
  cucumber-rails (= 1.1.1)
173
173
  database_cleaner (= 0.8.0)
174
174
  factory_girl_rails (= 3.5.0)
175
- rails (= 3.2.6)
175
+ rails (= 3.2.8)
176
176
  rspec-rails (= 2.11.0)
177
177
  shoulda-matchers (= 1.2.0)
178
178
  sqlite3 (= 1.3.6)
@@ -26,13 +26,18 @@ module Clearance
26
26
  end
27
27
 
28
28
  def password=(new_password)
29
+ @password = new_password
29
30
  BCryptUser.new(self).password = new_password
30
31
  end
31
32
 
32
33
  private
33
34
 
34
35
  def authenticated_with_bcrypt?(password)
35
- BCryptUser.new(self).authenticated? password
36
+ begin
37
+ BCryptUser.new(self).authenticated? password
38
+ rescue ::BCrypt::Errors::InvalidHash
39
+ false
40
+ end
36
41
  end
37
42
 
38
43
  def authenticated_with_sha1?(password)
@@ -1,3 +1,3 @@
1
1
  module Clearance
2
- VERSION = '1.0.0.rc1'
2
+ VERSION = '1.0.0.rc2'
3
3
  end
@@ -3,6 +3,7 @@ require 'spec_helper'
3
3
  describe Clearance::PasswordStrategies::BCryptMigrationFromSHA1 do
4
4
  subject do
5
5
  Class.new do
6
+ attr_reader :password
6
7
  attr_accessor :encrypted_password
7
8
  attr_accessor :salt
8
9
  include Clearance::PasswordStrategies::BCryptMigrationFromSHA1
@@ -28,6 +29,11 @@ describe Clearance::PasswordStrategies::BCryptMigrationFromSHA1 do
28
29
  it 'encrypts with BCrypt' do
29
30
  BCrypt::Password.should have_received(:create).with(password)
30
31
  end
32
+
33
+ it 'sets the pasword on the subject' do
34
+ subject.password.should be_present
35
+ end
36
+
31
37
  end
32
38
 
33
39
  describe '#authenticated?' do
@@ -49,6 +55,12 @@ describe Clearance::PasswordStrategies::BCryptMigrationFromSHA1 do
49
55
  subject.authenticated? password
50
56
  subject.encrypted_password.should_not == sha1_hash
51
57
  end
58
+
59
+ it 'does not raise a BCrypt error for invalid passwords' do
60
+ lambda {
61
+ subject.authenticated? 'bad' + password
62
+ }.should_not raise_error(BCrypt::Errors::InvalidHash)
63
+ end
52
64
  end
53
65
 
54
66
  context 'with a BCrypt-encrypted password' do
@@ -68,4 +80,5 @@ describe Clearance::PasswordStrategies::BCryptMigrationFromSHA1 do
68
80
  end
69
81
  end
70
82
  end
83
+
71
84
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clearance
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc1
4
+ version: 1.0.0.rc2
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -18,11 +18,11 @@ authors:
18
18
  autorequire:
19
19
  bindir: bin
20
20
  cert_chain: []
21
- date: 2012-07-23 00:00:00.000000000Z
21
+ date: 2012-09-20 00:00:00.000000000 Z
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
24
24
  name: bcrypt-ruby
25
- requirement: &17307160 !ruby/object:Gem::Requirement
25
+ requirement: !ruby/object:Gem::Requirement
26
26
  none: false
27
27
  requirements:
28
28
  - - ! '>='
@@ -30,21 +30,31 @@ dependencies:
30
30
  version: '0'
31
31
  type: :runtime
32
32
  prerelease: false
33
- version_requirements: *17307160
33
+ version_requirements: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
34
39
  - !ruby/object:Gem::Dependency
35
40
  name: diesel
36
- requirement: &17306160 !ruby/object:Gem::Requirement
41
+ requirement: !ruby/object:Gem::Requirement
37
42
  none: false
38
43
  requirements:
39
- - - =
44
+ - - '='
40
45
  - !ruby/object:Gem::Version
41
46
  version: 0.1.5
42
47
  type: :runtime
43
48
  prerelease: false
44
- version_requirements: *17306160
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 0.1.5
45
55
  - !ruby/object:Gem::Dependency
46
56
  name: rails
47
- requirement: &17299600 !ruby/object:Gem::Requirement
57
+ requirement: !ruby/object:Gem::Requirement
48
58
  none: false
49
59
  requirements:
50
60
  - - ! '>='
@@ -52,139 +62,204 @@ dependencies:
52
62
  version: '3.0'
53
63
  type: :runtime
54
64
  prerelease: false
55
- version_requirements: *17299600
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '3.0'
56
71
  - !ruby/object:Gem::Dependency
57
72
  name: appraisal
58
- requirement: &17296840 !ruby/object:Gem::Requirement
73
+ requirement: !ruby/object:Gem::Requirement
59
74
  none: false
60
75
  requirements:
61
- - - =
76
+ - - '='
62
77
  - !ruby/object:Gem::Version
63
78
  version: 0.4.1
64
79
  type: :development
65
80
  prerelease: false
66
- version_requirements: *17296840
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - '='
85
+ - !ruby/object:Gem::Version
86
+ version: 0.4.1
67
87
  - !ruby/object:Gem::Dependency
68
88
  name: aruba
69
- requirement: &17295840 !ruby/object:Gem::Requirement
89
+ requirement: !ruby/object:Gem::Requirement
70
90
  none: false
71
91
  requirements:
72
- - - =
92
+ - - '='
73
93
  - !ruby/object:Gem::Version
74
94
  version: 0.4.11
75
95
  type: :development
76
96
  prerelease: false
77
- version_requirements: *17295840
97
+ version_requirements: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - '='
101
+ - !ruby/object:Gem::Version
102
+ version: 0.4.11
78
103
  - !ruby/object:Gem::Dependency
79
104
  name: bourne
80
- requirement: &17294500 !ruby/object:Gem::Requirement
105
+ requirement: !ruby/object:Gem::Requirement
81
106
  none: false
82
107
  requirements:
83
- - - =
108
+ - - '='
84
109
  - !ruby/object:Gem::Version
85
110
  version: 1.1.2
86
111
  type: :development
87
112
  prerelease: false
88
- version_requirements: *17294500
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - '='
117
+ - !ruby/object:Gem::Version
118
+ version: 1.1.2
89
119
  - !ruby/object:Gem::Dependency
90
120
  name: bundler
91
- requirement: &17293220 !ruby/object:Gem::Requirement
121
+ requirement: !ruby/object:Gem::Requirement
92
122
  none: false
93
123
  requirements:
94
- - - =
124
+ - - ~>
95
125
  - !ruby/object:Gem::Version
96
- version: 1.1.3
126
+ version: 1.2.0
97
127
  type: :development
98
128
  prerelease: false
99
- version_requirements: *17293220
129
+ version_requirements: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ~>
133
+ - !ruby/object:Gem::Version
134
+ version: 1.2.0
100
135
  - !ruby/object:Gem::Dependency
101
136
  name: capybara
102
- requirement: &17292640 !ruby/object:Gem::Requirement
137
+ requirement: !ruby/object:Gem::Requirement
103
138
  none: false
104
139
  requirements:
105
- - - =
140
+ - - '='
106
141
  - !ruby/object:Gem::Version
107
142
  version: 1.1.2
108
143
  type: :development
109
144
  prerelease: false
110
- version_requirements: *17292640
145
+ version_requirements: !ruby/object:Gem::Requirement
146
+ none: false
147
+ requirements:
148
+ - - '='
149
+ - !ruby/object:Gem::Version
150
+ version: 1.1.2
111
151
  - !ruby/object:Gem::Dependency
112
152
  name: cucumber-rails
113
- requirement: &17291720 !ruby/object:Gem::Requirement
153
+ requirement: !ruby/object:Gem::Requirement
114
154
  none: false
115
155
  requirements:
116
- - - =
156
+ - - '='
117
157
  - !ruby/object:Gem::Version
118
158
  version: 1.1.1
119
159
  type: :development
120
160
  prerelease: false
121
- version_requirements: *17291720
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ none: false
163
+ requirements:
164
+ - - '='
165
+ - !ruby/object:Gem::Version
166
+ version: 1.1.1
122
167
  - !ruby/object:Gem::Dependency
123
168
  name: database_cleaner
124
- requirement: &17291020 !ruby/object:Gem::Requirement
169
+ requirement: !ruby/object:Gem::Requirement
125
170
  none: false
126
171
  requirements:
127
- - - =
172
+ - - '='
128
173
  - !ruby/object:Gem::Version
129
174
  version: 0.8.0
130
175
  type: :development
131
176
  prerelease: false
132
- version_requirements: *17291020
177
+ version_requirements: !ruby/object:Gem::Requirement
178
+ none: false
179
+ requirements:
180
+ - - '='
181
+ - !ruby/object:Gem::Version
182
+ version: 0.8.0
133
183
  - !ruby/object:Gem::Dependency
134
184
  name: factory_girl_rails
135
- requirement: &17290420 !ruby/object:Gem::Requirement
185
+ requirement: !ruby/object:Gem::Requirement
136
186
  none: false
137
187
  requirements:
138
- - - =
188
+ - - '='
139
189
  - !ruby/object:Gem::Version
140
190
  version: 3.5.0
141
191
  type: :development
142
192
  prerelease: false
143
- version_requirements: *17290420
193
+ version_requirements: !ruby/object:Gem::Requirement
194
+ none: false
195
+ requirements:
196
+ - - '='
197
+ - !ruby/object:Gem::Version
198
+ version: 3.5.0
144
199
  - !ruby/object:Gem::Dependency
145
200
  name: rspec-rails
146
- requirement: &17289660 !ruby/object:Gem::Requirement
201
+ requirement: !ruby/object:Gem::Requirement
147
202
  none: false
148
203
  requirements:
149
- - - =
204
+ - - '='
150
205
  - !ruby/object:Gem::Version
151
206
  version: 2.11.0
152
207
  type: :development
153
208
  prerelease: false
154
- version_requirements: *17289660
209
+ version_requirements: !ruby/object:Gem::Requirement
210
+ none: false
211
+ requirements:
212
+ - - '='
213
+ - !ruby/object:Gem::Version
214
+ version: 2.11.0
155
215
  - !ruby/object:Gem::Dependency
156
216
  name: shoulda-matchers
157
- requirement: &17289100 !ruby/object:Gem::Requirement
217
+ requirement: !ruby/object:Gem::Requirement
158
218
  none: false
159
219
  requirements:
160
- - - =
220
+ - - '='
161
221
  - !ruby/object:Gem::Version
162
222
  version: 1.2.0
163
223
  type: :development
164
224
  prerelease: false
165
- version_requirements: *17289100
225
+ version_requirements: !ruby/object:Gem::Requirement
226
+ none: false
227
+ requirements:
228
+ - - '='
229
+ - !ruby/object:Gem::Version
230
+ version: 1.2.0
166
231
  - !ruby/object:Gem::Dependency
167
232
  name: sqlite3
168
- requirement: &17288340 !ruby/object:Gem::Requirement
233
+ requirement: !ruby/object:Gem::Requirement
169
234
  none: false
170
235
  requirements:
171
- - - =
236
+ - - '='
172
237
  - !ruby/object:Gem::Version
173
238
  version: 1.3.6
174
239
  type: :development
175
240
  prerelease: false
176
- version_requirements: *17288340
241
+ version_requirements: !ruby/object:Gem::Requirement
242
+ none: false
243
+ requirements:
244
+ - - '='
245
+ - !ruby/object:Gem::Version
246
+ version: 1.3.6
177
247
  - !ruby/object:Gem::Dependency
178
248
  name: timecop
179
- requirement: &17286940 !ruby/object:Gem::Requirement
249
+ requirement: !ruby/object:Gem::Requirement
180
250
  none: false
181
251
  requirements:
182
- - - =
252
+ - - '='
183
253
  - !ruby/object:Gem::Version
184
254
  version: 0.3.5
185
255
  type: :development
186
256
  prerelease: false
187
- version_requirements: *17286940
257
+ version_requirements: !ruby/object:Gem::Requirement
258
+ none: false
259
+ requirements:
260
+ - - '='
261
+ - !ruby/object:Gem::Version
262
+ version: 0.3.5
188
263
  description: Rails authentication & authorization with email & password.
189
264
  email: support@thoughtbot.com
190
265
  executables: []
@@ -233,12 +308,12 @@ files:
233
308
  - features/support/aruba.rb
234
309
  - features/support/clearance.rb
235
310
  - features/support/env.rb
236
- - gemfiles/3.0.15.gemfile
237
- - gemfiles/3.0.15.gemfile.lock
238
- - gemfiles/3.1.6.gemfile
239
- - gemfiles/3.1.6.gemfile.lock
240
- - gemfiles/3.2.6.gemfile
241
- - gemfiles/3.2.6.gemfile.lock
311
+ - gemfiles/3.0.17.gemfile
312
+ - gemfiles/3.0.17.gemfile.lock
313
+ - gemfiles/3.1.8.gemfile
314
+ - gemfiles/3.1.8.gemfile.lock
315
+ - gemfiles/3.2.8.gemfile
316
+ - gemfiles/3.2.8.gemfile.lock
242
317
  - lib/clearance.rb
243
318
  - lib/clearance/authentication.rb
244
319
  - lib/clearance/configuration.rb
@@ -311,8 +386,42 @@ required_rubygems_version: !ruby/object:Gem::Requirement
311
386
  version: 1.3.1
312
387
  requirements: []
313
388
  rubyforge_project:
314
- rubygems_version: 1.8.10
389
+ rubygems_version: 1.8.24
315
390
  signing_key:
316
391
  specification_version: 3
317
392
  summary: Rails authentication & authorization with email & password.
318
- test_files: []
393
+ test_files:
394
+ - features/engine/visitor_resets_password.feature
395
+ - features/engine/visitor_signs_in.feature
396
+ - features/engine/visitor_signs_out.feature
397
+ - features/engine/visitor_signs_up.feature
398
+ - features/integration.feature
399
+ - features/integration_with_test_unit.feature
400
+ - features/step_definitions/configuration_steps.rb
401
+ - features/step_definitions/engine/clearance_steps.rb
402
+ - features/support/aruba.rb
403
+ - features/support/clearance.rb
404
+ - features/support/env.rb
405
+ - spec/clearance/constraints/signed_in_spec.rb
406
+ - spec/clearance/constraints/signed_out_spec.rb
407
+ - spec/clearance/rack_session_spec.rb
408
+ - spec/clearance/session_spec.rb
409
+ - spec/configuration_spec.rb
410
+ - spec/controllers/denies_controller_spec.rb
411
+ - spec/controllers/flashes_controller_spec.rb
412
+ - spec/controllers/forgeries_controller_spec.rb
413
+ - spec/controllers/passwords_controller_spec.rb
414
+ - spec/controllers/sessions_controller_spec.rb
415
+ - spec/controllers/users_controller_spec.rb
416
+ - spec/factories.rb
417
+ - spec/mailers/clearance_mailer_spec.rb
418
+ - spec/models/bcrypt_migration_from_sha1_spec.rb
419
+ - spec/models/bcrypt_spec.rb
420
+ - spec/models/blowfish_spec.rb
421
+ - spec/models/password_strategies_spec.rb
422
+ - spec/models/sha1_spec.rb
423
+ - spec/models/user_spec.rb
424
+ - spec/spec_helper.rb
425
+ - spec/support/clearance.rb
426
+ - spec/support/cookies.rb
427
+ - spec/support/request_with_remember_token.rb