wipe_out 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +5 -1
- 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
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b552b009a241e5df1a9df23fadf58f1a62da0439e4f0346c9257e7e339aaa497
|
4
|
+
data.tar.gz: 5e5555fb5e96386ff24338180445d702b63d2049e0508e3a9b80d517eb08a591
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 05b7369f04f3960bdc8f9d42187f7c1034854074f74cdca6bab4715ebc8bd41851ace94841e7207cb0aa0f7eb17c77265d8b525c995bfd4b61c40143b52823ec
|
7
|
+
data.tar.gz: 2c8220d195903b722b97bd74da64c05c4d55303fc7d35cc2f416396de0f838106f5fcd0756bbcea569f2fba0ff7b8f74debf411d5d92534a4a521471204a22c1
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
# WipeOut
|
2
2
|
|
3
|
-
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/wipe_out.svg)](https://rubygems.org/gems/wipe_out)
|
4
|
+
|
5
|
+
![Library for removing and clearing data in Rails ActiveRecord models](https://www.globalapptesting.com/hs-fs/hubfs/blog_post_title_image_1-14.jpeg?width=1985&name=blog_post_title_image_1-14.jpeg)
|
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/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
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wipe_out
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michał Foryś
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-
|
12
|
+
date: 2021-12-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: attr_extras
|