bullet_train-roles 0.1.9 → 0.1.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/bullet_train/roles/version.rb +1 -1
- data/lib/roles/permit.rb +18 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e682f8f5469478a7c827332cb3c922a3c7657ef48e2e53d15abaf98b4ea8e7ac
|
4
|
+
data.tar.gz: 15ca75ffc2ebacabebc3632ecc18ce5f20348ad434df094de2ee14eaa05c031e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a525dc712139149ea12932af58932a3a8ec11ab582c6a5924b88035ea0c67563fb5ea9958cb9dc581b2045b46ff7add98a164383034ae6e3cb03a50f089076f
|
7
|
+
data.tar.gz: 544e1c9ddbde15bd1945529af7d0ae136ff22fc8c2d12a0d8b91c148a61a2bbfa2f4296890ec0e235d1353bbff0394f811e588675e42c56e3b254c4ec6d7abcb
|
data/Gemfile.lock
CHANGED
data/lib/roles/permit.rb
CHANGED
@@ -13,8 +13,18 @@ module Roles
|
|
13
13
|
build_permissions(user, through, parent, intermediary)
|
14
14
|
end
|
15
15
|
|
16
|
-
|
17
|
-
|
16
|
+
begin
|
17
|
+
assign_permissions(permissions)
|
18
|
+
rescue NameError => e
|
19
|
+
if cache_key
|
20
|
+
# Cache has become stale with model classes that no longer exist
|
21
|
+
Rails.logger.info "Found missing models in cache - #{e.message.squish} - building fresh permissions"
|
22
|
+
Rails.cache.delete(cache_key)
|
23
|
+
permissions = build_permissions(user, through, parent, intermediary)
|
24
|
+
assign_permissions(permissions)
|
25
|
+
else
|
26
|
+
raise e
|
27
|
+
end
|
18
28
|
end
|
19
29
|
|
20
30
|
if debug
|
@@ -31,6 +41,12 @@ module Roles
|
|
31
41
|
end
|
32
42
|
end
|
33
43
|
|
44
|
+
def assign_permissions(permissions)
|
45
|
+
permissions.each do |permission|
|
46
|
+
can(permission.actions, permission.model.constantize, permission.condition) unless permission.is_debug
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
34
50
|
def build_permissions(user, through, parent, intermediary)
|
35
51
|
added_roles = Set.new
|
36
52
|
permissions = []
|