revise_auth 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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