wipe_out 1.0.0 → 1.1.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/CHANGELOG.md +9 -0
- data/README.md +5 -1
- data/catalog-info.yaml +18 -0
- data/docs/index.md +1 -0
- data/lib/wipe_out/execution/context.rb +0 -1
- data/lib/wipe_out/plans/dsl.rb +10 -0
- data/lib/wipe_out/version.rb +1 -1
- data/mkdocs.yaml +11 -0
- data/wipe_out.gemspec +3 -3
- metadata +25 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32c0bc26bc8745f5906603943f5146dc93f153c0cd97136f32e320ae9dc627e3
|
4
|
+
data.tar.gz: d6649b38a1f956338a52f1097d23687f58fd919e6fb3cd258424b96f3362edb1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89fa6d945114add77ce22a7d015bb563b26ebbb88ef9c9b2505747dbc8b1504c7269aedf6f998f190c78b50d629ecbadc478c861bb2ad95fd940acb40ebad11f
|
7
|
+
data.tar.gz: edb8c0b49f2b7266a3d9ed8439dca0f07b99de1dd53b8b197f39d5a1d6d7cf4bc2b9eb2d06da00608851fa474a0f364c5e15d478b6537c77c79e04c0b29c4e1a
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## v1.1.0
|
4
|
+
|
5
|
+
* Update `attr_extras` dependency to allow versions 7.x
|
6
|
+
* Update `zeitwerk` dependency to allow all 2.x versions
|
7
|
+
|
8
|
+
## v1.0.1
|
9
|
+
|
10
|
+
Fix issue with callbacks being executed multiple times in child plans
|
11
|
+
|
3
12
|
## v1.0.0
|
4
13
|
|
5
14
|
Initial release, see docs:
|
data/README.md
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
# WipeOut
|
2
2
|
|
3
|
-
|
3
|
+
[](https://rubygems.org/gems/wipe_out)
|
4
|
+
|
5
|
+

|
6
|
+
|
7
|
+
Release blog post, [ActiveRecord models: How to remove data in GDPR compliant way](https://www.globalapptesting.com/engineering/activerecord-models-how-to-remove-data-in-gdpr-compliant-way)
|
4
8
|
|
5
9
|
## Installation
|
6
10
|
|
data/catalog-info.yaml
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
apiVersion: backstage.io/v1alpha1
|
2
|
+
kind: Component
|
3
|
+
metadata:
|
4
|
+
name: wipe-out
|
5
|
+
description: |-
|
6
|
+
Library for removing and clearing data in Rails ActiveRecord models.
|
7
|
+
links:
|
8
|
+
- url: https://github.com/GlobalAppTesting/wipe_out
|
9
|
+
title: Repository
|
10
|
+
icon: dashboard
|
11
|
+
annotations:
|
12
|
+
backstage.io/techdocs-ref: "."
|
13
|
+
gitlab.com/project-slug: "global-app-testing/apps/wipe_out"
|
14
|
+
github.com/project-slug: "GlobalAppTesting/wipe_out"
|
15
|
+
spec:
|
16
|
+
type: library
|
17
|
+
lifecycle: production
|
18
|
+
owner: team-platform
|
data/docs/index.md
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
../README.md
|
data/lib/wipe_out/plans/dsl.rb
CHANGED
@@ -66,12 +66,17 @@ module WipeOut
|
|
66
66
|
# @return [nil]
|
67
67
|
def relation(name, plan = nil, plans: nil, &block)
|
68
68
|
if plans
|
69
|
+
plans.each do |build_plan|
|
70
|
+
forward_callbacks(@plan, build_plan.plan)
|
71
|
+
end
|
72
|
+
|
69
73
|
@plan.add_relation_union(name, plans.map(&:plan), &block)
|
70
74
|
else
|
71
75
|
plan ||= Plan.new(@plan.config)
|
72
76
|
plan = plan.plan if plan.is_a?(BuiltPlan)
|
73
77
|
dsl = Dsl.new(plan)
|
74
78
|
dsl.instance_exec(&block) if block.present?
|
79
|
+
forward_callbacks(@plan, plan)
|
75
80
|
|
76
81
|
@plan.add_relation(name, dsl.plan)
|
77
82
|
end
|
@@ -112,6 +117,11 @@ module WipeOut
|
|
112
117
|
def add_callback(callback)
|
113
118
|
plan.add_callback(callback)
|
114
119
|
end
|
120
|
+
|
121
|
+
# @!visibility private
|
122
|
+
def forward_callbacks(source_plan, destination_plan)
|
123
|
+
source_plan.callbacks.each { |callback| destination_plan.add_callback(callback) }
|
124
|
+
end
|
115
125
|
end
|
116
126
|
end
|
117
127
|
end
|
data/lib/wipe_out/version.rb
CHANGED
data/mkdocs.yaml
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
site_name: wipe-out
|
2
|
+
site_description: Library for removing and clearing data in Rails ActiveRecord models.
|
3
|
+
|
4
|
+
nav:
|
5
|
+
- Introduction: index.md
|
6
|
+
- 'Getting started': getting_started.md
|
7
|
+
- Development: development.md
|
8
|
+
- Releasing: releasing.md
|
9
|
+
|
10
|
+
plugins:
|
11
|
+
- techdocs-core
|
data/wipe_out.gemspec
CHANGED
@@ -30,8 +30,8 @@ Gem::Specification.new do |s|
|
|
30
30
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
31
31
|
end
|
32
32
|
|
33
|
-
s.add_dependency("attr_extras", "
|
34
|
-
s.add_dependency("zeitwerk", "
|
33
|
+
s.add_dependency("attr_extras", ">= 6.0", "< 8.0")
|
34
|
+
s.add_dependency("zeitwerk", ">= 2.4")
|
35
35
|
|
36
36
|
s.add_development_dependency("combustion", "~> 1.3")
|
37
37
|
s.add_development_dependency("factory_bot", "~> 6.2")
|
@@ -40,7 +40,7 @@ Gem::Specification.new do |s|
|
|
40
40
|
s.add_development_dependency("rspec", "~> 3.10")
|
41
41
|
s.add_development_dependency("simplecov", "~> 0.21.1")
|
42
42
|
s.add_development_dependency("sqlite3", "~> 1.4.2")
|
43
|
-
s.add_development_dependency("standard", "~> 1.
|
43
|
+
s.add_development_dependency("standard", "~> 1.24.0")
|
44
44
|
s.add_development_dependency("super_diff", "~> 0.6.2")
|
45
45
|
s.add_development_dependency("webrick")
|
46
46
|
s.add_development_dependency("yard", "~> 0.9")
|
metadata
CHANGED
@@ -1,44 +1,50 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wipe_out
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michał Foryś
|
8
8
|
- Piotr Król
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2023-02-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: attr_extras
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - "
|
18
|
+
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '6.
|
20
|
+
version: '6.0'
|
21
|
+
- - "<"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '8.0'
|
21
24
|
type: :runtime
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
24
27
|
requirements:
|
25
|
-
- - "
|
28
|
+
- - ">="
|
26
29
|
- !ruby/object:Gem::Version
|
27
|
-
version: '6.
|
30
|
+
version: '6.0'
|
31
|
+
- - "<"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '8.0'
|
28
34
|
- !ruby/object:Gem::Dependency
|
29
35
|
name: zeitwerk
|
30
36
|
requirement: !ruby/object:Gem::Requirement
|
31
37
|
requirements:
|
32
|
-
- - "
|
38
|
+
- - ">="
|
33
39
|
- !ruby/object:Gem::Version
|
34
|
-
version: 2.4
|
40
|
+
version: '2.4'
|
35
41
|
type: :runtime
|
36
42
|
prerelease: false
|
37
43
|
version_requirements: !ruby/object:Gem::Requirement
|
38
44
|
requirements:
|
39
|
-
- - "
|
45
|
+
- - ">="
|
40
46
|
- !ruby/object:Gem::Version
|
41
|
-
version: 2.4
|
47
|
+
version: '2.4'
|
42
48
|
- !ruby/object:Gem::Dependency
|
43
49
|
name: combustion
|
44
50
|
requirement: !ruby/object:Gem::Requirement
|
@@ -143,14 +149,14 @@ dependencies:
|
|
143
149
|
requirements:
|
144
150
|
- - "~>"
|
145
151
|
- !ruby/object:Gem::Version
|
146
|
-
version: 1.
|
152
|
+
version: 1.24.0
|
147
153
|
type: :development
|
148
154
|
prerelease: false
|
149
155
|
version_requirements: !ruby/object:Gem::Requirement
|
150
156
|
requirements:
|
151
157
|
- - "~>"
|
152
158
|
- !ruby/object:Gem::Version
|
153
|
-
version: 1.
|
159
|
+
version: 1.24.0
|
154
160
|
- !ruby/object:Gem::Dependency
|
155
161
|
name: super_diff
|
156
162
|
requirement: !ruby/object:Gem::Requirement
|
@@ -217,8 +223,10 @@ files:
|
|
217
223
|
- bin/yard
|
218
224
|
- bin/yardoc
|
219
225
|
- bin/yri
|
226
|
+
- catalog-info.yaml
|
220
227
|
- docs/development.md
|
221
228
|
- docs/getting_started.md
|
229
|
+
- docs/index.md
|
222
230
|
- docs/releasing.md
|
223
231
|
- docs/yard_plugin.rb
|
224
232
|
- lib/wipe_out.rb
|
@@ -243,6 +251,7 @@ files:
|
|
243
251
|
- lib/wipe_out/validators/defined_relations.rb
|
244
252
|
- lib/wipe_out/validators/relations_plans.rb
|
245
253
|
- lib/wipe_out/version.rb
|
254
|
+
- mkdocs.yaml
|
246
255
|
- wipe_out.gemspec
|
247
256
|
homepage: https://github.com/GlobalAppTesting/wipe_out
|
248
257
|
licenses:
|
@@ -252,7 +261,7 @@ metadata:
|
|
252
261
|
changelog_uri: https://github.com/GlobalAppTesting/wipe_out/blob/main/CHANGELOG.md
|
253
262
|
source_code_uri: https://github.com/GlobalAppTesting/wipe_out
|
254
263
|
bug_tracker_uri: https://github.com/GlobalAppTesting/wipe_out/issues
|
255
|
-
post_install_message:
|
264
|
+
post_install_message:
|
256
265
|
rdoc_options: []
|
257
266
|
require_paths:
|
258
267
|
- lib
|
@@ -267,8 +276,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
267
276
|
- !ruby/object:Gem::Version
|
268
277
|
version: '0'
|
269
278
|
requirements: []
|
270
|
-
rubygems_version: 3.
|
271
|
-
signing_key:
|
279
|
+
rubygems_version: 3.3.3
|
280
|
+
signing_key:
|
272
281
|
specification_version: 4
|
273
282
|
summary: Library for removing and clearing data in Rails ActiveRecord models.
|
274
283
|
test_files: []
|