revise_auth 0.7.1 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af1f59c2cc31af3c629baf760d48610da836dd5d2b4c7221742cd12122cceb49
4
- data.tar.gz: 67f9631b83dc0034a0394779c052614617f8b038be6027be59a85de7c280e3fc
3
+ metadata.gz: 71fda2f113599eedcf1149b7875e3ed902a34f25612b357090997f9dbef2755c
4
+ data.tar.gz: a0c7efefe1c554681d61dcecd319c0b13a8db42dc10e5e67ca7f252e39940413
5
5
  SHA512:
6
- metadata.gz: fa482292b597afabdb54d18b49045375f7c62f017826d222eac85d8cc7d8e0b8cb7a42eda3c383a512da00641b6638d49f84bf3f127d3f2e1e426e0700f3e53d
7
- data.tar.gz: f942b60c9f169890bf4553526f32c8b6a5add8cbfbc5308d4f2bb12947bb615a4e7a0d09440e9963634fb3cda6322ab24ff5d9b382c6f4c21573f615e6187c92
6
+ metadata.gz: 50583c21daaa058fe253945ce034b04742126a665a31dfb1a56219c45ee7199b521f7af006fffe833e7ccb4b4f4c6b356aff3604479306c6dea121d9adddbdbd
7
+ data.tar.gz: e7debb89b6652c443c8c07f3c8ad9cb594faaa9748ffb6f8ebb5f04205a8494f9fbca9293b183941831473134969a604ad1a1bc909f73a26106183769cbe7be5
data/README.md CHANGED
@@ -63,6 +63,17 @@ revise_auth
63
63
 
64
64
  You will want to define a root path. After login (see below), the user will be redirected to the root path.
65
65
 
66
+ ### Views
67
+
68
+ ReviseAuth uses the flash to display notices and alerts, so make sure flash messages are rendered by your application:
69
+
70
+ ```erb
71
+ <%# views/layouts/application.html.erb %>
72
+
73
+ <%= tag.div notice if notice %>
74
+ <%= tag.div alert if alert %>
75
+ ```
76
+
66
77
  ### Filters and Helpers
67
78
 
68
79
  To protect your actions from unauthenticated users, you can use the `authenticate_user!` filter:
@@ -6,9 +6,8 @@
6
6
  <% form.object.errors.full_messages.each do |message| %>
7
7
  <li><%= message %></li>
8
8
  <% end %>
9
- <% end %>
10
-
11
9
  </ul>
10
+ <% end %>
12
11
  <div>
13
12
  <%= form.label :email %>
14
13
  <%= form.email_field :email, required: true, autofocus: true %>
@@ -9,6 +9,12 @@ module ReviseAuth
9
9
  helper_method :current_user
10
10
  end
11
11
 
12
+ class_methods do
13
+ def authenticate_user!(with: :login, return_to: true, **options)
14
+ before_action -> { authenticate_user!(with: with, return_to: return_to) }, **options
15
+ end
16
+ end
17
+
12
18
  # Returns a boolean whether the user is signed in or not
13
19
  def user_signed_in?
14
20
  !!current_user
@@ -21,8 +27,11 @@ module ReviseAuth
21
27
  end
22
28
 
23
29
  # Authenticates a user or redirects to the login page
24
- def authenticate_user!
25
- redirect_to_login_with_stashed_location unless user_signed_in?
30
+ def authenticate_user!(with: :login, return_to: true)
31
+ return if user_signed_in?
32
+ stash_return_to_location(request.fullpath) if return_to && request.get?
33
+ path = (with == :sign_up) ? sign_up_path : login_path
34
+ redirect_to path, alert: t("revise_auth.sign_up_or_login")
26
35
  end
27
36
 
28
37
  def require_unauthenticated
@@ -69,11 +78,6 @@ module ReviseAuth
69
78
  session.delete(:user_return_to)
70
79
  end
71
80
 
72
- def redirect_to_login_with_stashed_location
73
- stash_return_to_location(request.fullpath) if request.get?
74
- redirect_to login_path, alert: t("revise_auth.sign_up_or_login")
75
- end
76
-
77
81
  def resolve_after_register_path
78
82
  try(:after_register_path) || return_to_location || root_path
79
83
  end
@@ -1,3 +1,3 @@
1
1
  module ReviseAuth
2
- VERSION = "0.7.1"
2
+ VERSION = "0.8.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: revise_auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Oliver
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-27 00:00:00.000000000 Z
11
+ date: 2024-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  requirements: []
112
- rubygems_version: 3.5.14
112
+ rubygems_version: 3.5.16
113
113
  signing_key:
114
114
  specification_version: 4
115
115
  summary: Simple authentication for Ruby on Rails apps