gdpr_admin 1.6.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b8f6f1437e957b783de64f6a16847142b7eff9ebf14428b8c1d6d8db4011dcde
4
- data.tar.gz: 4ea36ea2245d25a95883501dbe7727149bb1f971c4e5f1de27c00621f7526f69
3
+ metadata.gz: eb44596fd7f9b9e3b3296e45d1c3737980a0f6c2d8b910a7d04e72426008ccc6
4
+ data.tar.gz: c188e1f3129d26d20f194e3081ea2fd4676262250ca791ab702cf3d6f0514240
5
5
  SHA512:
6
- metadata.gz: 931d742f6e132f9aac3ebf5babf2cf3596b49827830cb90dc5c169f4b8fd570c45ce43a0be4b76c62bea487b2b0bbe1dc643d8486f7e9e58ff35610c4313b77b
7
- data.tar.gz: 9f19d2ad664ea3dd95b73524ca914e4f1cd2bdcacfd83a305a2128443bee3036da70002f21bb9487614b4593c2350d0a815f36d70239a2005b34f6a1e27d83a1
6
+ metadata.gz: 44e6d8532f3cde2e673c5395982d7a9f7d8bcc5cc99337e2a595cf095a95c9102316a6c0489318f86d05abd8c72dff73136c91e6ed3c94a9316ae461c5d1e77b
7
+ data.tar.gz: f91dae933610884e3686ab04cc66d31645447a6f16e3960149f3791f081c448b3b42503abbb1e593995c5c66c2a8df36c2606eb723974e3d2abbdeeb2fc6cd88
@@ -6,10 +6,11 @@ module GdprAdmin
6
6
  belongs_to :requester, polymorphic: true, optional: true
7
7
 
8
8
  VALID_STATUS_TRANSITIONS = {
9
- pending: %i[processing],
9
+ pending: %i[processing canceled],
10
10
  processing: %i[completed failed],
11
11
  completed: [],
12
12
  failed: %i[pending],
13
+ canceled: %i[],
13
14
  }.freeze
14
15
 
15
16
  enum status: {
@@ -17,6 +18,7 @@ module GdprAdmin
17
18
  processing: 'processing',
18
19
  completed: 'completed',
19
20
  failed: 'failed',
21
+ canceled: 'canceled',
20
22
  }
21
23
 
22
24
  enum request_type: {
@@ -33,6 +35,10 @@ module GdprAdmin
33
35
  validates :subject, absence: true, unless: :subject_request?
34
36
  validate :valid_status_transition?
35
37
 
38
+ def cancel!
39
+ canceled!
40
+ end
41
+
36
42
  def process!
37
43
  GdprAdmin.load_data_policies
38
44
  reload.with_lock { processing! }
@@ -14,6 +14,13 @@ module GdprAdmin
14
14
  def anonymize_ip
15
15
  Faker::Internet.ip_v4_address
16
16
  end
17
+
18
+ def mask_ip(_record, _field, value)
19
+ addr = IPAddr.new(value.to_s)
20
+ return addr.mask(24).to_s if addr.ipv4?
21
+
22
+ addr.mask(48).to_s
23
+ end
17
24
  end
18
25
  end
19
26
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  # :nocov:
4
4
  module GdprAdmin
5
- VERSION = '1.6.0'
5
+ VERSION = '1.8.0'
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.6.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Colex
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-22 00:00:00.000000000 Z
11
+ date: 2023-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails