clearance 1.11.0 → 1.12.0
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.
- checksums.yaml +4 -4
- data/.travis.yml +2 -2
- data/.yardopts +3 -0
- data/Gemfile.lock +60 -60
- data/NEWS.md +17 -0
- data/config/locales/clearance.en.yml +1 -0
- data/lib/clearance/authentication.rb +49 -0
- data/lib/clearance/authorization.rb +44 -1
- data/lib/clearance/back_door.rb +1 -0
- data/lib/clearance/configuration.rb +2 -1
- data/lib/clearance/constraints.rb +12 -0
- data/lib/clearance/constraints/signed_in.rb +4 -0
- data/lib/clearance/constraints/signed_out.rb +2 -0
- data/lib/clearance/controller.rb +13 -0
- data/lib/clearance/default_sign_in_guard.rb +17 -0
- data/lib/clearance/engine.rb +16 -0
- data/lib/clearance/password_strategies/bcrypt.rb +3 -2
- data/lib/clearance/password_strategies/bcrypt_migration_from_sha1.rb +9 -0
- data/lib/clearance/password_strategies/blowfish.rb +8 -0
- data/lib/clearance/password_strategies/sha1.rb +8 -0
- data/lib/clearance/rack_session.rb +13 -0
- data/lib/clearance/session.rb +45 -0
- data/lib/clearance/session_status.rb +7 -0
- data/lib/clearance/sign_in_guard.rb +65 -0
- data/lib/clearance/testing/controller_helpers.rb +10 -1
- data/lib/clearance/testing/deny_access_matcher.rb +30 -0
- data/lib/clearance/testing/view_helpers.rb +1 -1
- data/lib/clearance/token.rb +7 -0
- data/lib/clearance/user.rb +159 -0
- data/lib/clearance/version.rb +1 -1
- data/lib/generators/clearance/install/install_generator.rb +1 -1
- data/lib/generators/clearance/routes/routes_generator.rb +15 -0
- data/lib/generators/clearance/routes/templates/routes.rb +10 -10
- data/lib/generators/clearance/specs/templates/features/clearance/visitor_resets_password_spec.rb.tt +1 -1
- data/spec/acceptance/clearance_installation_spec.rb +2 -1
- data/spec/controllers/permissions_controller_spec.rb +6 -0
- metadata +3 -3
data/lib/clearance/version.rb
CHANGED
@@ -26,6 +26,21 @@ module Clearance
|
|
26
26
|
def routes_file_path
|
27
27
|
File.expand_path(find_in_source_paths('routes.rb'))
|
28
28
|
end
|
29
|
+
|
30
|
+
def route(routing_code)
|
31
|
+
log :route, "all clearance routes"
|
32
|
+
sentinel = /\.routes\.draw do\s*\n/m
|
33
|
+
|
34
|
+
in_root do
|
35
|
+
inject_into_file(
|
36
|
+
"config/routes.rb",
|
37
|
+
routing_code,
|
38
|
+
after: sentinel,
|
39
|
+
verbose: false,
|
40
|
+
force: true,
|
41
|
+
)
|
42
|
+
end
|
43
|
+
end
|
29
44
|
end
|
30
45
|
end
|
31
46
|
end
|
@@ -1,12 +1,12 @@
|
|
1
|
-
resources :passwords, controller: "clearance/passwords", only: [:create, :new]
|
2
|
-
resource :session, controller: "clearance/sessions", only: [:create]
|
1
|
+
resources :passwords, controller: "clearance/passwords", only: [:create, :new]
|
2
|
+
resource :session, controller: "clearance/sessions", only: [:create]
|
3
3
|
|
4
|
-
resources :users, controller: "clearance/users", only: [:create] do
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
end
|
4
|
+
resources :users, controller: "clearance/users", only: [:create] do
|
5
|
+
resource :password,
|
6
|
+
controller: "clearance/passwords",
|
7
|
+
only: [:create, :edit, :update]
|
8
|
+
end
|
9
9
|
|
10
|
-
get "/sign_in" => "clearance/sessions#new", as: "sign_in"
|
11
|
-
delete "/sign_out" => "clearance/sessions#destroy", as: "sign_out"
|
12
|
-
get "/sign_up" => "clearance/users#new", as: "sign_up"
|
10
|
+
get "/sign_in" => "clearance/sessions#new", as: "sign_in"
|
11
|
+
delete "/sign_out" => "clearance/sessions#destroy", as: "sign_out"
|
12
|
+
get "/sign_up" => "clearance/users#new", as: "sign_up"
|
data/lib/generators/clearance/specs/templates/features/clearance/visitor_resets_password_spec.rb.tt
CHANGED
@@ -47,7 +47,7 @@ feature "Visitor resets password" do
|
|
47
47
|
message = ActionMailer::Base.deliveries.any? do |email|
|
48
48
|
email.to == [recipient] &&
|
49
49
|
email.subject =~ /#{subject}/i &&
|
50
|
-
email.html_part.body =~ /#{body}/
|
50
|
+
email.html_part.body =~ /#{body}/ &&
|
51
51
|
email.text_part.body =~ /#{body}/
|
52
52
|
end
|
53
53
|
|
@@ -54,6 +54,12 @@ describe PermissionsController do
|
|
54
54
|
|
55
55
|
expect(subject).to deny_access(redirect: sign_in_url)
|
56
56
|
end
|
57
|
+
|
58
|
+
it "denies access to show and display a flash message" do
|
59
|
+
get :show
|
60
|
+
|
61
|
+
expect(flash[:notice]).to match(/^Please sign in to continue/)
|
62
|
+
end
|
57
63
|
end
|
58
64
|
|
59
65
|
context 'when remember_token is blank' do
|
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.
|
4
|
+
version: 1.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Croak
|
@@ -25,7 +25,7 @@ authors:
|
|
25
25
|
autorequire:
|
26
26
|
bindir: bin
|
27
27
|
cert_chain: []
|
28
|
-
date: 2015-
|
28
|
+
date: 2015-11-18 00:00:00.000000000 Z
|
29
29
|
dependencies:
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: bcrypt
|
@@ -242,7 +242,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
242
242
|
version: '0'
|
243
243
|
requirements: []
|
244
244
|
rubyforge_project:
|
245
|
-
rubygems_version: 2.4.
|
245
|
+
rubygems_version: 2.4.8
|
246
246
|
signing_key:
|
247
247
|
specification_version: 4
|
248
248
|
summary: Rails authentication & authorization with email & password.
|