soft_deletion 0.6.1 → 0.7.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/lib/soft_deletion/core.rb +5 -26
- data/lib/soft_deletion/dependency.rb +1 -7
- data/lib/soft_deletion/setup.rb +1 -9
- data/lib/soft_deletion/version.rb +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7136f033c5ffee183ad6ef6951cc6ebfa3293a51
|
4
|
+
data.tar.gz: 7f909e3a9392a86672828f7eca998302d341043c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2c5be8c5f2f13716fbaddb33cc5b9b5436672b91309df44aafff9066ad0850b0f376cda1fdeb85267ca2151bf4d48293313a38381ddbd0bb60c04bf48390ecf
|
7
|
+
data.tar.gz: 40b2fe532e615c6f5333cc181b93c5b833123af1ffae8441eecc07c97b4936e317974eab1c450dc5d746c9ac5ac9587aea2805589efa1044bf229452025e63c3
|
data/lib/soft_deletion/core.rb
CHANGED
@@ -6,17 +6,8 @@ module SoftDeletion
|
|
6
6
|
end
|
7
7
|
base.extend(ClassMethods)
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
base.define_model_callbacks :soft_delete
|
12
|
-
base.define_model_callbacks :soft_undelete
|
13
|
-
else
|
14
|
-
base.define_callbacks :before_soft_delete
|
15
|
-
base.define_callbacks :after_soft_delete
|
16
|
-
|
17
|
-
base.define_callbacks :before_soft_undelete
|
18
|
-
base.define_callbacks :after_soft_undelete
|
19
|
-
end
|
9
|
+
base.define_model_callbacks :soft_delete
|
10
|
+
base.define_model_callbacks :soft_undelete
|
20
11
|
end
|
21
12
|
|
22
13
|
module ClassMethods
|
@@ -61,7 +52,7 @@ module SoftDeletion
|
|
61
52
|
|
62
53
|
models.each do |model|
|
63
54
|
model.soft_delete_dependencies.each(&:soft_delete!)
|
64
|
-
model.run_callbacks
|
55
|
+
model.run_callbacks :soft_delete
|
65
56
|
end
|
66
57
|
end
|
67
58
|
end
|
@@ -106,13 +97,7 @@ module SoftDeletion
|
|
106
97
|
end
|
107
98
|
|
108
99
|
self.class.transaction do
|
109
|
-
|
110
|
-
run_callbacks :soft_delete, &internal
|
111
|
-
else
|
112
|
-
return false if !run_callbacks(:before_soft_delete) { |result, object| result == false }
|
113
|
-
internal.call
|
114
|
-
run_callbacks :after_soft_delete
|
115
|
-
end
|
100
|
+
run_callbacks :soft_delete, &internal
|
116
101
|
end
|
117
102
|
|
118
103
|
result
|
@@ -130,13 +115,7 @@ module SoftDeletion
|
|
130
115
|
end
|
131
116
|
|
132
117
|
self.class.transaction do
|
133
|
-
|
134
|
-
run_callbacks :soft_undelete, &internal
|
135
|
-
else
|
136
|
-
return false if !run_callbacks(:before_soft_undelete) { |result, object| result == false }
|
137
|
-
internal.call
|
138
|
-
run_callbacks :after_soft_undelete
|
139
|
-
end
|
118
|
+
run_callbacks :soft_undelete, &internal
|
140
119
|
end
|
141
120
|
|
142
121
|
result
|
@@ -28,13 +28,7 @@ module SoftDeletion
|
|
28
28
|
|
29
29
|
def nullify_dependencies
|
30
30
|
dependencies.each do |dependency|
|
31
|
-
|
32
|
-
association.foreign_key
|
33
|
-
else
|
34
|
-
association.primary_key_name
|
35
|
-
end
|
36
|
-
method = (ActiveRecord::VERSION::STRING >= "3.1" ? :update_column : :update_attribute)
|
37
|
-
dependency.send(method, foreign_key, nil)
|
31
|
+
dependency.update_column(association.foreign_key, nil)
|
38
32
|
end
|
39
33
|
end
|
40
34
|
|
data/lib/soft_deletion/setup.rb
CHANGED
@@ -20,15 +20,7 @@ module SoftDeletion
|
|
20
20
|
include SoftDeletion::Core
|
21
21
|
|
22
22
|
options = default_options.merge(options)
|
23
|
-
|
24
|
-
if options[:default_scope]
|
25
|
-
conditions = {:deleted_at => nil}
|
26
|
-
if ActiveRecord::VERSION::STRING < "3.1"
|
27
|
-
default_scope :conditions => conditions
|
28
|
-
else
|
29
|
-
default_scope { where(conditions) }
|
30
|
-
end
|
31
|
-
end
|
23
|
+
default_scope { where(:deleted_at => nil) } if options[:default_scope]
|
32
24
|
end
|
33
25
|
end
|
34
26
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: soft_deletion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zendesk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: 3.2.0
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
22
|
+
version: 5.1.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: 3.2.0
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
32
|
+
version: 5.1.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: rake
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -76,16 +76,16 @@ dependencies:
|
|
76
76
|
name: database_cleaner
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
|
-
- - "
|
79
|
+
- - ">="
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: 1.
|
81
|
+
version: 1.5.1
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
|
-
- - "
|
86
|
+
- - ">="
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: 1.
|
88
|
+
version: 1.5.1
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
90
|
name: bump
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -138,7 +138,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
138
138
|
requirements:
|
139
139
|
- - ">="
|
140
140
|
- !ruby/object:Gem::Version
|
141
|
-
version:
|
141
|
+
version: 2.0.0
|
142
142
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
143
|
requirements:
|
144
144
|
- - ">="
|