gdpr_admin 1.4.0 → 1.4.1

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: 9b1d58ff60fa19dc3b0a1fb067ae2ed0dfc96e8798257989534a39e8600ef878
4
- data.tar.gz: b199dc1a90a1fab64a6b98bcde51dc656a8943f12381dcdbc275e51147997c92
3
+ metadata.gz: 99489f549c8f701322c68c19a73dad4796af585f7b981ac8680590b14e2b299e
4
+ data.tar.gz: c2918882ca853ded91dc6ecd8aa52ae95dd6c2a9cac99d6c829917693d7e96e5
5
5
  SHA512:
6
- metadata.gz: b7813fc861f53e6d280369e403e9ece16484dfc433e2005b6c6eac739f91694d06169fcf0b60a3b1d1e32f65dcc45a44a8dee5446e89a35b90391070a42c0c96
7
- data.tar.gz: 02a363b0a84f217aceeb3e19e2d0f53b09d7f5030e3dbf16abae8c92a8dc52cca9138c3fca55b6ce1014f639a915914e910c45e7538d5f24ecf79c005a3abb14
6
+ metadata.gz: 29c763ef8b44f45c56c63c4da8fc8b275dd2a2ce3f6bdb1c8808015543343bcafc1599450d74c2d54be74a8c2020c24649fd31f94d2f0188e38fcc19bc8b6637
7
+ data.tar.gz: b68927faf70d507c7992f7a64fc2a7eab37034533ebc492d93490179e6e0f276ece51ef2855b06ba938ef03fe974230a2770145a7a263a0fcf2baf181c588b19
@@ -43,14 +43,18 @@ module GdprAdmin
43
43
  def process
44
44
  GdprAdmin.config.tenant_adapter.with_tenant(request.tenant) do
45
45
  run_preprocessors
46
- scope.find_each do |record|
47
- process_record(record)
48
- end
46
+ process_scope(scope)
49
47
  rescue SkipDataPolicyError
50
48
  nil
51
49
  end
52
50
  end
53
51
 
52
+ def process_scope(scope)
53
+ scope.find_each do |record|
54
+ process_record(record)
55
+ end
56
+ end
57
+
54
58
  protected
55
59
 
56
60
  attr_reader :request
@@ -80,9 +84,13 @@ module GdprAdmin
80
84
  def call_hook(hook, value = nil)
81
85
  hook = method(hook) unless hook.respond_to?(:call)
82
86
 
83
- arity = hook.arity
87
+ arity = arity_of(hook)
84
88
  args = [value].take(arity).reverse
85
89
  instance_exec(*args, &hook)
86
90
  end
91
+
92
+ def arity_of(method_or_proc)
93
+ defined?(T::Utils.arity) ? T::Utils.arity(method_or_proc) : method_or_proc.arity
94
+ end
87
95
  end
88
96
  end
@@ -10,6 +10,16 @@ module GdprAdmin
10
10
  def skip_record!
11
11
  raise SkipRecordError
12
12
  end
13
+
14
+ def model_data_policy_class(model)
15
+ model = model.constantize if model.is_a?(String)
16
+ return model.data_policy_class if model.respond_to?(:data_policy_class)
17
+
18
+ prefix = model.data_policy_prefix if model.respond_to?(:data_policy_prefix)
19
+ "#{prefix}#{model}DataPolicy".constantize
20
+ rescue NameError
21
+ nil
22
+ end
13
23
  end
14
24
  end
15
25
  end
@@ -32,13 +32,7 @@ module GdprAdmin
32
32
  end
33
33
 
34
34
  def infer_data_policy_class(version)
35
- model = version.item_type.constantize.new
36
- return model.data_policy_class if model.respond_to?(:data_policy_class)
37
-
38
- prefix = model.data_policy_prefix if model.respond_to?(:data_policy_prefix)
39
- "#{prefix}#{version.item_type}DataPolicy".constantize
40
- rescue NameError
41
- nil
35
+ model_data_policy_class(version.item_type)
42
36
  end
43
37
  end
44
38
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  # :nocov:
4
4
  module GdprAdmin
5
- VERSION = '1.4.0'
5
+ VERSION = '1.4.1'
6
6
  end
7
7
  # :nocov:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gdpr_admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Colex
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-30 00:00:00.000000000 Z
11
+ date: 2023-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails