clearance 1.0.0.rc4 → 1.0.0.rc6

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.

Files changed (58) hide show
  1. checksums.yaml +15 -0
  2. data/.travis.yml +14 -3
  3. data/Appraisals +7 -1
  4. data/Gemfile.lock +33 -26
  5. data/LICENSE +1 -1
  6. data/NEWS.md +13 -10
  7. data/README.md +44 -37
  8. data/Rakefile +3 -0
  9. data/app/controllers/clearance/passwords_controller.rb +6 -2
  10. data/app/views/clearance_mailer/change_password.html.erb +2 -2
  11. data/app/views/passwords/create.html.erb +3 -1
  12. data/app/views/passwords/edit.html.erb +15 -13
  13. data/app/views/passwords/new.html.erb +13 -11
  14. data/app/views/sessions/_form.html.erb +8 -3
  15. data/app/views/sessions/new.html.erb +4 -11
  16. data/app/views/users/_form.html.erb +2 -2
  17. data/app/views/users/new.html.erb +14 -5
  18. data/clearance.gemspec +5 -3
  19. data/config/locales/clearance.en.yml +53 -23
  20. data/config/routes.rb +3 -3
  21. data/gemfiles/{3.0.17.gemfile → 3.0.20.gemfile} +1 -1
  22. data/gemfiles/{3.0.17.gemfile.lock → 3.0.20.gemfile.lock} +62 -57
  23. data/gemfiles/{3.2.8.gemfile → 3.1.11.gemfile} +1 -1
  24. data/gemfiles/{3.1.8.gemfile.lock → 3.1.11.gemfile.lock} +70 -65
  25. data/gemfiles/{3.1.8.gemfile → 3.2.12.gemfile} +1 -1
  26. data/gemfiles/{3.2.8.gemfile.lock → 3.2.12.gemfile.lock} +74 -68
  27. data/gemfiles/3.2.13.rc2.gemfile +7 -0
  28. data/gemfiles/3.2.13.rc2.gemfile.lock +182 -0
  29. data/lib/clearance.rb +2 -1
  30. data/lib/clearance/authentication.rb +8 -53
  31. data/lib/clearance/authorization.rb +62 -0
  32. data/lib/clearance/back_door.rb +42 -0
  33. data/lib/clearance/controller.rb +11 -0
  34. data/lib/clearance/password_strategies/bcrypt.rb +13 -1
  35. data/lib/clearance/password_strategies/bcrypt_migration_from_sha1.rb +1 -0
  36. data/lib/clearance/password_strategies/blowfish.rb +5 -1
  37. data/lib/clearance/password_strategies/sha1.rb +5 -1
  38. data/lib/clearance/testing.rb +1 -1
  39. data/lib/clearance/testing/app/controllers/application_controller.rb +1 -1
  40. data/lib/clearance/user.rb +23 -10
  41. data/lib/clearance/version.rb +1 -1
  42. data/lib/generators/clearance/install/install_generator.rb +1 -1
  43. data/lib/generators/clearance/specs/templates/support/integration.rb +2 -0
  44. data/spec/clearance/back_door_spec.rb +39 -0
  45. data/spec/controllers/denies_controller_spec.rb +3 -2
  46. data/spec/controllers/flashes_controller_spec.rb +3 -3
  47. data/spec/controllers/forgeries_controller_spec.rb +3 -2
  48. data/spec/controllers/passwords_controller_spec.rb +14 -0
  49. data/spec/mailers/clearance_mailer_spec.rb +9 -1
  50. data/spec/models/bcrypt_migration_from_sha1_spec.rb +10 -9
  51. data/spec/models/bcrypt_spec.rb +21 -7
  52. data/spec/models/blowfish_spec.rb +1 -6
  53. data/spec/models/password_strategies_spec.rb +9 -3
  54. data/spec/models/sha1_spec.rb +1 -6
  55. data/spec/models/user_spec.rb +19 -9
  56. data/spec/support/clearance.rb +1 -1
  57. data/spec/support/fake_model_with_password_strategy.rb +14 -0
  58. metadata +54 -47
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZWQxMTkxOTgyMzhhZWEzNzFmNTI3YTMzNDdiY2M1NGZiYmU1NDA3Yg==
5
+ data.tar.gz: !binary |-
6
+ NDA1ZDM3MmQ3NGE2ZDc1NDcyNmQ1NGI4ZGU4OWM0YzEyZmViOTA5OQ==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ ZDgxNmZlMDliYTNmMjM3MzIzNWYwMzM1YWUzMGQ2YzMzZDA1OWViYzIyNWI5
10
+ OGI2MzU1MjVjNWM0ZjhhYTc0YTQ3MDBmZmZhZDE4MDZlZTI4ZjM1ZTlhZWRi
11
+ ZmJhZjZiZDBkODZiZTNhZTU2ODNjNDFlYTg5ZWNlODMxZDhmMjU=
12
+ data.tar.gz: !binary |-
13
+ YzRlNWQwZjQ4NDYzOGYyODU3MWFjZjQ2NmMyNGRhYzZhMGU3YzQ5M2UxOGZj
14
+ MTFiZjM1ZDc2N2VkNDlkN2EwYTEzODdhMzZlYjg2NzVjYTc4M2ZmYTNmNGRh
15
+ ZWUyMDQ1ZjE3NTY3OTdlOThmNjI0N2JkZTZmYmZiZTJjZDllMGU=
@@ -2,14 +2,25 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.2
4
4
  - 1.9.3
5
+ - 2.0.0
5
6
  before_install:
6
7
  - gem update --system
8
+ - gem update bundler
7
9
  before_script:
8
10
  - "bundle exec rake db:migrate"
9
11
  gemfile:
10
- - gemfiles/3.0.12.gemfile
11
- - gemfiles/3.1.4.gemfile
12
- - gemfiles/3.2.3.gemfile
12
+ - gemfiles/3.0.20.gemfile
13
+ - gemfiles/3.1.11.gemfile
14
+ - gemfiles/3.2.12.gemfile
15
+ - gemfiles/3.2.13.rc2.gemfile
16
+ matrix:
17
+ exclude:
18
+ - rvm: 2.0.0
19
+ gemfile: gemfiles/3.0.20.gemfile
20
+ - rvm: 2.0.0
21
+ gemfile: gemfiles/3.1.11.gemfile
22
+ - rvm: 2.0.0
23
+ gemfile: gemfiles/3.2.12.gemfile
13
24
  branches:
14
25
  only:
15
26
  - master
data/Appraisals CHANGED
@@ -1,4 +1,10 @@
1
- ['3.0.17', '3.1.8', '3.2.8'].each do |rails_version|
1
+ if RUBY_VERSION >= '2.0'
2
+ rails_versions = ['3.2.13.rc2']
3
+ else
4
+ rails_versions = ['3.0.20', '3.1.11', '3.2.12']
5
+ end
6
+
7
+ rails_versions.each do |rails_version|
2
8
  appraise "#{rails_version}" do
3
9
  gem 'rails', rails_version
4
10
  end
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- clearance (1.0.0.rc4)
4
+ clearance (1.0.0.rc5)
5
5
  bcrypt-ruby
6
+ email_validator
6
7
  rails (>= 3.0)
7
8
 
8
9
  GEM
@@ -46,9 +47,9 @@ GEM
46
47
  ffi (>= 1.0.11)
47
48
  rspec (>= 2.7.0)
48
49
  bcrypt-ruby (3.0.1)
49
- bourne (1.1.2)
50
- mocha (= 0.10.5)
51
- builder (3.0.0)
50
+ bourne (1.3.0)
51
+ mocha (= 0.13.0)
52
+ builder (3.0.4)
52
53
  capybara (1.1.2)
53
54
  mime-types (>= 1.16)
54
55
  nokogiri (>= 1.3.3)
@@ -69,6 +70,8 @@ GEM
69
70
  nokogiri (>= 1.5.0)
70
71
  database_cleaner (0.8.0)
71
72
  diff-lcs (1.1.3)
73
+ email_validator (1.3.0)
74
+ activemodel
72
75
  erubis (2.7.0)
73
76
  factory_girl (3.5.0)
74
77
  activesupport (>= 3.0.0)
@@ -79,9 +82,9 @@ GEM
79
82
  gherkin (2.11.1)
80
83
  json (>= 1.4.6)
81
84
  hike (1.2.1)
82
- i18n (0.6.0)
85
+ i18n (0.6.1)
83
86
  journey (1.0.4)
84
- json (1.7.3)
87
+ json (1.7.6)
85
88
  libwebsocket (0.1.4)
86
89
  addressable
87
90
  mail (2.4.4)
@@ -90,17 +93,18 @@ GEM
90
93
  treetop (~> 1.4.8)
91
94
  metaclass (0.0.1)
92
95
  mime-types (1.19)
93
- mocha (0.10.5)
96
+ mocha (0.13.0)
94
97
  metaclass (~> 0.0.1)
95
- multi_json (1.3.6)
98
+ multi_json (1.5.0)
96
99
  nokogiri (1.5.5)
97
100
  polyglot (0.3.3)
98
- rack (1.4.1)
101
+ psych (1.3.4)
102
+ rack (1.4.4)
99
103
  rack-cache (1.2)
100
104
  rack (>= 0.4)
101
- rack-ssl (1.3.2)
105
+ rack-ssl (1.3.3)
102
106
  rack
103
- rack-test (0.6.1)
107
+ rack-test (0.6.2)
104
108
  rack (>= 1.0)
105
109
  rails (3.2.6)
106
110
  actionmailer (= 3.2.6)
@@ -117,22 +121,24 @@ GEM
117
121
  rake (>= 0.8.7)
118
122
  rdoc (~> 3.4)
119
123
  thor (>= 0.14.6, < 2.0)
120
- rake (0.9.2.2)
124
+ rake (10.0.3)
121
125
  rdoc (3.12)
122
126
  json (~> 1.4)
123
- rspec (2.11.0)
124
- rspec-core (~> 2.11.0)
125
- rspec-expectations (~> 2.11.0)
126
- rspec-mocks (~> 2.11.0)
127
- rspec-core (2.11.1)
128
- rspec-expectations (2.11.1)
127
+ rspec (2.12.0)
128
+ rspec-core (~> 2.12.0)
129
+ rspec-expectations (~> 2.12.0)
130
+ rspec-mocks (~> 2.12.0)
131
+ rspec-core (2.12.2)
132
+ rspec-expectations (2.12.1)
129
133
  diff-lcs (~> 1.1.3)
130
- rspec-mocks (2.11.1)
131
- rspec-rails (2.11.0)
134
+ rspec-mocks (2.12.2)
135
+ rspec-rails (2.12.2)
132
136
  actionpack (>= 3.0)
133
137
  activesupport (>= 3.0)
134
138
  railties (>= 3.0)
135
- rspec (~> 2.11.0)
139
+ rspec-core (~> 2.12.0)
140
+ rspec-expectations (~> 2.12.0)
141
+ rspec-mocks (~> 2.12.0)
136
142
  rubyzip (0.9.9)
137
143
  selenium-webdriver (2.25.0)
138
144
  childprocess (>= 0.2.5)
@@ -146,13 +152,13 @@ GEM
146
152
  rack (~> 1.0)
147
153
  tilt (~> 1.1, != 1.3.0)
148
154
  sqlite3 (1.3.6)
149
- thor (0.15.4)
155
+ thor (0.17.0)
150
156
  tilt (1.3.3)
151
157
  timecop (0.3.5)
152
158
  treetop (1.4.12)
153
159
  polyglot
154
160
  polyglot (>= 0.3.1)
155
- tzinfo (0.3.34)
161
+ tzinfo (0.3.35)
156
162
  xpath (0.1.4)
157
163
  nokogiri (~> 1.3)
158
164
 
@@ -162,14 +168,15 @@ PLATFORMS
162
168
  DEPENDENCIES
163
169
  appraisal (= 0.4.1)
164
170
  aruba (= 0.4.11)
165
- bourne (= 1.1.2)
166
- bundler (~> 1.2.0)
171
+ bourne (= 1.3.0)
172
+ bundler (~> 1.1)
167
173
  capybara (= 1.1.2)
168
174
  clearance!
169
175
  cucumber-rails (= 1.1.1)
170
176
  database_cleaner (= 0.8.0)
171
177
  factory_girl_rails (= 3.5.0)
172
- rspec-rails (= 2.11.0)
178
+ psych (~> 1.3.4)
179
+ rspec-rails (= 2.12.2)
173
180
  shoulda-matchers (= 1.2.0)
174
181
  sqlite3 (= 1.3.6)
175
182
  timecop (= 0.3.5)
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License
2
2
 
3
- Copyright (c) 2009-2012 thoughtbot, inc.
3
+ Copyright (c) 2009-2013 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
@@ -1,24 +1,27 @@
1
1
  New for 1.0.0:
2
2
 
3
3
  * Change default password strategy to BCrypt.
4
- * Provide BCryptMigrationFromSHA1 password strategy to help people migrate from
4
+ * Speed up test suites using `::BCrypt::Engine::MIN_COST`.
5
+ * Speed up integration suites with `Clearance::BackDoor`.
6
+ * Replace email regular expression with `EmailValidator` gem.
7
+ * Provide `BCryptMigrationFromSHA1` password strategy to help people migrate from
5
8
  SHA1 (the old default password strategy) to BCrypt (the new default).
6
9
  * Require > Ruby 1.9.
7
- * A revamped, more descriptive README.
8
10
  * More extension points in more controllers.
9
- * The email, encrypted_password, and remember_token fields of the users
10
- table are NOT NULL in the default migration.
11
- * We support Test::Unit.
12
- * Drop Rails plugin support.
13
- * Add SignedIn and SignedOut routing constraints.
11
+ * The `email`, `encrypted_password`, and `remember_token` fields of the users
12
+ table are `NOT NULL` in the default migration.
13
+ * Add `SignedIn` and `SignedOut` routing constraints.
14
14
  * Add a fake password strategy, which is useful when writing tests.
15
- * Remove deprecated methods on User: remember_me!, generate_random_code,
16
- password_required?.
17
15
  * Improve security when changing password.
18
16
  * Replace Cucumber feature generator with RSpec + Capybara.
19
17
  * Remove Diesel dependency.
18
+ * Remove deprecated methods on User: `remember_me!`, `generate_random_code`,
19
+ `password_required?`.
20
20
  * Add locales support.
21
- * PasswordsController `params[:user]` has changed to `params[:password_reset]` to avoid locale conflicts
21
+ * `PasswordsController` `params[:user]` has changed to `params[:password_reset]`
22
+ to avoid locale conflicts.
23
+ * Prepare for Rails 4.
24
+ * Prepare for Ruby 2.
22
25
 
23
26
  New for 0.16.2:
24
27
 
data/README.md CHANGED
@@ -1,27 +1,30 @@
1
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)
4
+ [![Build
5
+ Status](https://secure.travis-ci.org/thoughtbot/clearance.png)](http://travis-ci.org/thoughtbot/clearance?branch=master)
6
+ [![Code
7
+ Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/thoughtbot/clearance)
8
+ [![Dependency Status](https://gemnasium.com/thoughtbot/clearance.png)](https://gemnasium.com/thoughtbot/clearance)
6
9
 
7
10
  Rails authentication with email & password.
8
11
 
9
- Clearance was extracted out of [Airbrake](http://airbrake.io/).
10
- It is intended to be small, simple, well-tested, and easy to override defaults.
12
+ Clearance was extracted out of [Airbrake](http://airbrake.io/). It is intended
13
+ to be small, simple, well-tested, with easy to override defaults.
11
14
 
12
- Use [Github Issues](/thoughtbot/clearance/issues) for help.
15
+ Use [Github Issues](https://github.com/thoughtbot/clearance/issues) for help.
13
16
 
14
- Read [CONTRIBUTING.md](/thoughtbot/clearance/blob/master/CONTRIBUTING.md) to contribute.
17
+ Read [CONTRIBUTING.md](/CONTRIBUTING.md) to contribute.
15
18
 
16
19
  Install
17
20
  -------
18
21
 
19
- Clearance is a Rails engine tested against
20
- [Rails 3.x](/thoughtbot/clearance/blob/master/Appraisals) on Ruby 1.9.x.
22
+ Clearance is a Rails engine tested against [Rails 3.x](/Appraisals) on Ruby
23
+ 1.9.x.
21
24
 
22
25
  Include the gem in your Gemfile:
23
26
 
24
- gem 'clearance', '1.0.0.rc2'
27
+ gem 'clearance', '1.0.0.rc6'
25
28
 
26
29
  Bundle:
27
30
 
@@ -33,13 +36,15 @@ Make sure the development database exists. Then, run the generator:
33
36
 
34
37
  The generator:
35
38
 
36
- * inserts Clearance::User into your User model
37
- * inserts Clearance::Authentication into your ApplicationController
38
- * creates a migration that either creates a users table or adds only missing columns
39
+ * inserts `Clearance::User` into your `User` model
40
+ * inserts `Clearance::Controller` into your `ApplicationController`
41
+ * creates a migration that either creates a users table or adds only missing
42
+ columns
39
43
 
40
44
  Then, follow the instructions output from the generator.
41
45
 
42
- Use the [0.8.x](/thoughtbot/clearance/tree/v0.8.8) series for Rails 2 apps.
46
+ Use Clearance [0.8.8](https://github.com/thoughtbot/clearance/tree/v0.8.8)
47
+ series for Rails 2 apps.
43
48
 
44
49
  Use [0.16.3](http://rubygems.org/gems/clearance/versions/0.16.3) for Ruby 1.8.7.
45
50
 
@@ -124,8 +129,7 @@ Rack applications can interact with it:
124
129
  Overriding routes
125
130
  -----------------
126
131
 
127
- See [config/routes.rb](/thoughtbot/clearance/blob/master/config/routes.rb) for
128
- the default behavior.
132
+ See [config/routes.rb](/config/routes.rb) for the default behavior.
129
133
 
130
134
  To override a Clearance route, redefine it:
131
135
 
@@ -134,8 +138,8 @@ To override a Clearance route, redefine it:
134
138
  Overriding controllers
135
139
  ----------------------
136
140
 
137
- See [app/controllers/clearance](/thoughtbot/clearance/tree/master/app/controllers/clearance)
138
- for the default behavior.
141
+ See [app/controllers/clearance](/app/controllers/clearance) for the default
142
+ behavior.
139
143
 
140
144
  To override a Clearance controller, subclass it:
141
145
 
@@ -152,8 +156,8 @@ Then, override public methods:
152
156
  sessions#create
153
157
  sessions#destroy
154
158
  sessions#new
155
- users#new
156
159
  users#create
160
+ users#new
157
161
 
158
162
  Or, override private methods:
159
163
 
@@ -161,9 +165,9 @@ Or, override private methods:
161
165
  passwords#find_user_for_create
162
166
  passwords#find_user_for_edit
163
167
  passwords#find_user_for_update
164
- passwords#flash_failure_when_forbidden
165
168
  passwords#flash_failure_after_create
166
169
  passwords#flash_failure_after_update
170
+ passwords#flash_failure_when_forbidden
167
171
  passwords#forbid_missing_token
168
172
  passwords#forbid_non_existent_user
169
173
  passwords#url_after_create
@@ -182,11 +186,13 @@ All flash messages and email subject lines are stored in
182
186
  [i18n translations](http://guides.rubyonrails.org/i18n.html).
183
187
  Override them like any other translation.
184
188
 
189
+ See [config/locales/clearance.en.yml](/config/locales/clearance.en.yml) for the
190
+ default behavior.
191
+
185
192
  Overriding views
186
193
  ----------------
187
194
 
188
- See [app/views](/thoughtbot/clearance/tree/master/app/views) for the default
189
- behavior.
195
+ See [app/views](/app/views) for the default behavior.
190
196
 
191
197
  To override a view, create your own:
192
198
 
@@ -206,8 +212,7 @@ There is a shortcut to copy all Clearance views into your app:
206
212
  Overriding the model
207
213
  --------------------
208
214
 
209
- See [lib/clearance/user.rb](/thoughtbot/clearance/tree/master/lib/clearance/user.rb)
210
- for the default behavior.
215
+ See [lib/clearance/user.rb](/lib/clearance/user.rb) for the default behavior.
211
216
 
212
217
  To override the model, redefine public methods:
213
218
 
@@ -218,10 +223,10 @@ To override the model, redefine public methods:
218
223
 
219
224
  Or, redefine private methods:
220
225
 
221
- #downcase_email
222
226
  #email_optional?
223
227
  #generate_confirmation_token
224
228
  #generate_remember_token
229
+ #normalize_email
225
230
  #password_optional?
226
231
 
227
232
  Overriding the password strategy
@@ -229,7 +234,8 @@ Overriding the password strategy
229
234
 
230
235
  By default, Clearance uses BCrypt encryption of the user's password.
231
236
 
232
- See [lib/clearance/password_strategies/bcrypt.rb](/thoughtbot/clearance/blob/master/lib/clearance/password_strategies/bcrypt.rb)
237
+ See
238
+ [lib/clearance/password_strategies/bcrypt.rb](/lib/clearance/password_strategies/bcrypt.rb)
233
239
  for the default behavior.
234
240
 
235
241
  Change your password strategy in `config/initializers/clearance.rb:`
@@ -249,20 +255,20 @@ The previous default password strategy was SHA1.
249
255
 
250
256
  Switching password strategies may cause your existing users to not be able to sign in.
251
257
 
252
- If you have an existing app that used the old `SHA1` strategy and you
253
- want to stay with SHA1, use
254
- [Clearance::PasswordStrategies::SHA1](/thoughtbot/clearance/blob/master/lib/clearance/password_strategies/sha1.rb).
258
+ If you have an existing app that used the old `SHA1` strategy and you want to
259
+ stay with SHA1, use
260
+ [Clearance::PasswordStrategies::SHA1](/lib/clearance/password_strategies/sha1.rb).
255
261
 
256
- If you have an existing app that used the old `SHA1` strategy and you
257
- want to switch to BCrypt transparently, use
258
- [Clearance::PasswordStrategies::BCryptMigrationFromSHA1](/thoughtbot/clearance/blob/master/lib/clearance/password_strategies/bcrypt_migration_from_sha1.rb).
262
+ If you have an existing app that used the old `SHA1` strategy and you want to
263
+ switch to BCrypt transparently, use
264
+ [Clearance::PasswordStrategies::BCryptMigrationFromSHA1](/lib/clearance/password_strategies/bcrypt_migration_from_sha1.rb).
259
265
 
260
266
  The SHA1 and Blowfish password strategies require an additional `salt` column in
261
267
  the `users` table. Run this migration before switching to SHA or Blowfish:
262
268
 
263
269
  class AddSaltToUsers < ActiveRecord::Migration
264
270
  def change
265
- add_column :users, :salt, :string, :limit => 128
271
+ add_column :users, :salt, :string, limit: 128
266
272
  end
267
273
  end
268
274
 
@@ -286,10 +292,11 @@ Optional Integration tests
286
292
  Clearance's integration tests are dependent on:
287
293
 
288
294
  * Capybara
289
- * RSpec
290
295
  * Factory Girl
296
+ * RSpec
291
297
 
292
- As your app evolves, you want to know that authentication still works. We include support for RSpec integration tests.
298
+ As your app evolves, you want to know that authentication still works. We
299
+ include support for RSpec integration tests.
293
300
 
294
301
  If you've installed [RSpec](https://github.com/rspec/rspec) in your app:
295
302
 
@@ -321,7 +328,7 @@ For example, in `spec/support/clearance.rb` or `test/test_helper.rb`:
321
328
 
322
329
  require 'clearance/testing'
323
330
 
324
- This will make `Clearance::Authentication` methods work in your controllers
331
+ This will make `Clearance::Controller` methods work in your controllers
325
332
  during functional tests and provide access to helper methods like:
326
333
 
327
334
  sign_in
@@ -334,7 +341,7 @@ And matchers like:
334
341
 
335
342
  Example:
336
343
 
337
- context 'a visitor' do
344
+ context 'a guest' do
338
345
  before do
339
346
  get :show
340
347
  end
@@ -368,7 +375,7 @@ and [contributors](/thoughtbot/clearance/contributors) like you. Thank you!
368
375
  License
369
376
  -------
370
377
 
371
- Clearance is copyright © 2009-2012 thoughtbot. It is free software, and may be
378
+ Clearance is copyright © 2009-2013 thoughtbot. It is free software, and may be
372
379
  redistributed under the terms specified in the `LICENSE` file.
373
380
 
374
381
  The names and logos for thoughtbot are trademarks of thoughtbot, inc.