yaag 0.3.0 → 0.4.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 +4 -4
- data/README.md +8 -0
- data/app/channels/application_cable/connection.rb +16 -0
- data/app/models/user.rb +0 -4
- data/lib/generators/authentication/copy/channels_generator.rb +11 -0
- data/lib/yaag/version.rb +1 -1
- data/lib/yaag.rb +6 -0
- metadata +3 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 18c1b6d3d23b55ad72cad5da0351887ef2342ef4ebeb98a58fd9866315e96a25
|
|
4
|
+
data.tar.gz: eedaef3e610a375ca2ab348f88883ac2205e0ba8c9984f029739755071637d70
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0a0eb30c69ce82211abbcf60cd54799e51ca9faadf06919d00e362eadb9e881c35a372674d74d306f112d76afc6daf9152042e3a972f38d74cf4e6ec359a83d7
|
|
7
|
+
data.tar.gz: 8653b74715e0ef3ccd4075182ff111b18f11dcf089804c0d736b74b2340926ce5455b14f58cba127b19d71916e5ce1db20ca73ef5bac9a055cd991266fab8e44
|
data/README.md
CHANGED
|
@@ -76,6 +76,12 @@ For controllers (including concerns):
|
|
|
76
76
|
rails g authentication:copy:controllers
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
+
For channels (application_cable/connection.rb):
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
rails g authentication:copy:channels
|
|
83
|
+
```
|
|
84
|
+
|
|
79
85
|
For mailers:
|
|
80
86
|
|
|
81
87
|
```bash
|
|
@@ -88,6 +94,8 @@ For models:
|
|
|
88
94
|
rails g authentication:copy:models
|
|
89
95
|
```
|
|
90
96
|
|
|
97
|
+
Note: some generators may copy several files into the application folder, it's safe to delete the ones that don't require modification.
|
|
98
|
+
|
|
91
99
|
### Test helper
|
|
92
100
|
|
|
93
101
|
To be able to perform tasks as an authenticated user, a helper is available to be used in tests. Add `include Yaag::Test::SessionsHelper` to your test class to access the methods `sign_in_as` and `sign_out`:
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module ApplicationCable
|
|
2
|
+
class Connection < ActionCable::Connection::Base
|
|
3
|
+
identified_by :current_user
|
|
4
|
+
|
|
5
|
+
def connect
|
|
6
|
+
set_current_user || reject_unauthorized_connection
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
private
|
|
10
|
+
def set_current_user
|
|
11
|
+
if session = Session.find_by(id: cookies.signed[:session_id])
|
|
12
|
+
self.current_user = session.user
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
data/app/models/user.rb
CHANGED
data/lib/yaag/version.rb
CHANGED
data/lib/yaag.rb
CHANGED
|
@@ -9,6 +9,12 @@ module Yaag
|
|
|
9
9
|
module PasswordlessLogin
|
|
10
10
|
extend ActiveSupport::Concern
|
|
11
11
|
|
|
12
|
+
included do
|
|
13
|
+
has_passwordless_login
|
|
14
|
+
has_many :sessions, dependent: :destroy
|
|
15
|
+
normalizes :email_address, with: ->(e) { e.strip.downcase }
|
|
16
|
+
end
|
|
17
|
+
|
|
12
18
|
DEFAULT_LOGIN_TOKEN_EXPIRES_IN = 15.minutes
|
|
13
19
|
|
|
14
20
|
class << self
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: yaag
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- nu12
|
|
@@ -21,6 +21,7 @@ files:
|
|
|
21
21
|
- MIT-LICENSE
|
|
22
22
|
- README.md
|
|
23
23
|
- Rakefile
|
|
24
|
+
- app/channels/application_cable/connection.rb
|
|
24
25
|
- app/controllers/concerns/authentication.rb
|
|
25
26
|
- app/controllers/sessions_controller.rb
|
|
26
27
|
- app/controllers/signins_controller.rb
|
|
@@ -37,6 +38,7 @@ files:
|
|
|
37
38
|
- db/migrate/20260108164812_create_users.rb
|
|
38
39
|
- db/migrate/20260108165215_create_sessions.rb
|
|
39
40
|
- lib/generators/authentication/USAGE
|
|
41
|
+
- lib/generators/authentication/copy/channels_generator.rb
|
|
40
42
|
- lib/generators/authentication/copy/controllers_generator.rb
|
|
41
43
|
- lib/generators/authentication/copy/mailers_generator.rb
|
|
42
44
|
- lib/generators/authentication/copy/models_generator.rb
|