pastore 0.0.3 → 0.0.4
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/pastore/guards/settings.rb +6 -4
- data/lib/pastore/version.rb +1 -1
- 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: 77eb4179686bdc087cb3b82d5187714473d61d178a690ece61d23f4f238fc973
|
4
|
+
data.tar.gz: 66432435a048060675f5f61b966a99e917a8a810c8d713736202e334e510d42c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 929a9b868a8d659728e7ebe2688fdec531ba9b718c195d40aeb2bb3ac313d59bac4c6ab6e3180f58a43af82930a7ae45bc5409ef0bfa439c4d4055d281d203a6
|
7
|
+
data.tar.gz: ea444e38cad30fb09fd6cfcf86fab000abcba0f3451ec2834e35bb13b7dca8fd062dc74d56879cf8f0c779e2b4fccb9d674dc34e7e2e36c238d4da6c330bb9cc
|
data/Gemfile.lock
CHANGED
@@ -4,9 +4,7 @@ module Pastore
|
|
4
4
|
module Guards
|
5
5
|
# Implements a structure where to store the settings for the guards.
|
6
6
|
class Settings # rubocop:disable Metrics/ClassLength
|
7
|
-
|
8
7
|
attr_writer :role_detector, :forbidden_cbk
|
9
|
-
attr_reader :strategy
|
10
8
|
|
11
9
|
def initialize(superklass)
|
12
10
|
@super_guards = superklass.pastore_guards if superklass.respond_to?(:pastore_guards)
|
@@ -15,7 +13,7 @@ module Pastore
|
|
15
13
|
end
|
16
14
|
|
17
15
|
def reset!
|
18
|
-
@strategy =
|
16
|
+
@strategy = nil
|
19
17
|
@role_detector = nil
|
20
18
|
@forbidden_cbk = nil
|
21
19
|
@actions = {}
|
@@ -40,6 +38,10 @@ module Pastore
|
|
40
38
|
@strategy = :deny
|
41
39
|
end
|
42
40
|
|
41
|
+
def strategy
|
42
|
+
@strategy || @super_guards&.strategy || :deny
|
43
|
+
end
|
44
|
+
|
43
45
|
def permit_role(*roles)
|
44
46
|
new_roles = [roles].flatten.compact.uniq.map(&:to_s)
|
45
47
|
conflicts = @buffer.fetch(:denied_roles, []) & new_roles
|
@@ -130,7 +132,7 @@ module Pastore
|
|
130
132
|
|
131
133
|
return false if action&.dig(:denied_roles)&.include?(role)
|
132
134
|
|
133
|
-
|
135
|
+
strategy == :allow || (strategy == :deny && action&.dig(:permitted_roles)&.include?(role)) || false
|
134
136
|
end
|
135
137
|
|
136
138
|
private
|
data/lib/pastore/version.rb
CHANGED