soft_deletion 0.4.5 → 0.4.6
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/Readme.md +1 -0
- data/lib/soft_deletion/dependency.rb +2 -1
- data/lib/soft_deletion/setup.rb +6 -1
- data/lib/soft_deletion/version.rb +1 -1
- data/spec/soft_deletion_spec.rb +20 -1
- data/spec/spec_helper.rb +6 -0
- metadata +5 -32
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
data/Gemfile.lock
CHANGED
data/Readme.md
CHANGED
@@ -46,6 +46,7 @@ Authors
|
|
46
46
|
- [Steven Davidovitz](https://github.com/steved555)
|
47
47
|
- [PikachuEXE](https://github.com/PikachuEXE)
|
48
48
|
- [Noel Dellofano](https://github.com/pinkvelociraptor)
|
49
|
+
- [Oliver Nightingale](https://github.com/olivernn)
|
49
50
|
|
50
51
|
[Zendesk](http://zendesk.com)<br/>
|
51
52
|
michael@grosser.it<br/>
|
@@ -38,7 +38,8 @@ module SoftDeletion
|
|
38
38
|
else
|
39
39
|
association.primary_key_name
|
40
40
|
end
|
41
|
-
|
41
|
+
method = (ActiveRecord::VERSION::STRING >= "3.1" ? :update_column : :update_attribute)
|
42
|
+
dependency.send(method, foreign_key, nil)
|
42
43
|
end
|
43
44
|
end
|
44
45
|
|
data/lib/soft_deletion/setup.rb
CHANGED
@@ -24,7 +24,12 @@ module SoftDeletion
|
|
24
24
|
if options[:default_scope] && table_exists? && column_names.include?("deleted_at")
|
25
25
|
# Avoids a bad SQL request with versions of code without the column deleted_at (for example a migration prior to the migration
|
26
26
|
# that adds deleted_at)
|
27
|
-
|
27
|
+
conditions = {:deleted_at => nil}
|
28
|
+
if ActiveRecord::VERSION::STRING < "3.1"
|
29
|
+
default_scope :conditions => conditions
|
30
|
+
else
|
31
|
+
default_scope { where(conditions) }
|
32
|
+
end
|
28
33
|
end
|
29
34
|
end
|
30
35
|
end
|
data/spec/soft_deletion_spec.rb
CHANGED
@@ -332,13 +332,32 @@ describe SoftDeletion do
|
|
332
332
|
end
|
333
333
|
|
334
334
|
context "without deleted_at column" do
|
335
|
-
it "
|
335
|
+
it "does not provoke an error" do
|
336
336
|
expect do
|
337
337
|
OriginalCategory.create!
|
338
338
|
end.to_not raise_error
|
339
339
|
end
|
340
340
|
end
|
341
341
|
|
342
|
+
context "default_scope" do
|
343
|
+
let(:forum) do
|
344
|
+
# create! does not work on rails 2
|
345
|
+
f = Cat2Forum.new
|
346
|
+
f.deleted_at = Time.now
|
347
|
+
f.save!
|
348
|
+
f
|
349
|
+
end
|
350
|
+
|
351
|
+
it "prevents find when deleted" do
|
352
|
+
Cat2Forum.find_by_id(forum.id).should == nil
|
353
|
+
end
|
354
|
+
|
355
|
+
it "can find without deleted" do
|
356
|
+
forum.update_attributes(:deleted_at => nil)
|
357
|
+
Cat2Forum.find_by_id(forum.id).should_not == nil
|
358
|
+
end
|
359
|
+
end
|
360
|
+
|
342
361
|
describe ".soft_delete_all!" do
|
343
362
|
before do
|
344
363
|
@categories = 2.times.map { Category.create! }
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,42 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: soft_deletion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Zendesk
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
-
|
13
|
-
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURNakNDQWhxZ0F3SUJB
|
14
|
-
Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREEvTVJBd0RnWURWUVFEREFkdGFX
|
15
|
-
Tm8KWVdWc01SY3dGUVlLQ1pJbWlaUHlMR1FCR1JZSFozSnZjM05sY2pFU01C
|
16
|
-
QUdDZ21TSm9tVDhpeGtBUmtXQW1sMApNQjRYRFRFek1ESXdNekU0TVRNeE1W
|
17
|
-
b1hEVEUwTURJd016RTRNVE14TVZvd1B6RVFNQTRHQTFVRUF3d0hiV2xqCmFH
|
18
|
-
RmxiREVYTUJVR0NnbVNKb21UOGl4a0FSa1dCMmR5YjNOelpYSXhFakFRQmdv
|
19
|
-
SmtpYUprL0lzWkFFWkZnSnAKZERDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFB
|
20
|
-
RGdnRVBBRENDQVFvQ2dnRUJBTW9yWG8vaGdiVXE5NytrSUk5SApNc1FjTGRD
|
21
|
-
Lzd3UTFaUDJPc2hWSFBrZVAwcUg4TUJIR2c2ZVlpc09YMnViTmFnRjlZVENa
|
22
|
-
V25ocmRLcndwTE9PCmNQTGFaYmpVamxqSjNjUVIzQjhZbjF2ZVY1SWhHODZR
|
23
|
-
c2VUQmp5bXpKV3NMcHFKMVVaR3BmQjl0WGNzRnR1eE8KNnZIdmNJSGR6dmMv
|
24
|
-
T1VrSUN0dExiSCsxcWI2cnNIVWNlcWgrSnJINEdyc0o1SDRoQWZJZHlTMlhN
|
25
|
-
SzdZUktiaApoK0lCdTZkRldKSkJ5ekZzWW1WMVBEWGxuM1VCbWdBdDY1Y21D
|
26
|
-
dTRxUGZUaGlvQ0dEemJTSnJHREdMbXcvcEZYCkZQcFZDbTF6Z1lTYjF2NlFu
|
27
|
-
ZjNjZ1hhMmYyd1lHbTE3K3pBVnlJRHB3cnlGcnU5eUYvakp4RTM4ei9EUnNk
|
28
|
-
OVIKLzg4Q0F3RUFBYU01TURjd0NRWURWUjBUQkFJd0FEQWRCZ05WSFE0RUZn
|
29
|
-
UVVzaU5uWEh0S2VNWVljcjR5SlZtUQpXT05MK0l3d0N3WURWUjBQQkFRREFn
|
30
|
-
U3dNQTBHQ1NxR1NJYjNEUUVCQlFVQUE0SUJBUUFseU43a0tvL05RQ1EwCkFP
|
31
|
-
elpMWjNXQWVQdlN0a0NGSUo1M3RzdjVLeW80cE1BbGx2K0JnUHp6QnQ3cWk2
|
32
|
-
MDVtRlNMNnpCZDl1TG91K1cKQ28zczQ4cDFkeTdDampBZlZRZG1WTkhGM013
|
33
|
-
WHRmQzJPRXl2U1FQaTR4S1I4aWJhOHdhM3hwOUxWbzFQdUxwdwovNkRzckNo
|
34
|
-
V3c3NEhmc0pONnFKT0s2ODRoSmVUOGxCWUFVZmlDM3dEMG93b1BTZytYdHlB
|
35
|
-
QWRkaXNSK0tWNVkxCk5tVkh1THRRY05UWnkrZ1JodDNhaEpSTXVDNlF5TG1r
|
36
|
-
VHNmKzZNYWVud0FNa0FnSGRzd0dzSnp0T25ObkJhM0YKeTBrQ1NXbUs2RCt4
|
37
|
-
L1NiZlM2cjdLZTA3TVJxemlKZEI5R3VFMSswY0lSdUZoOEVRK0xONkhYQ0tN
|
38
|
-
NXBvbi9HVQp5Y3dNWGZsMAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
39
|
-
date: 2013-07-26 00:00:00.000000000 Z
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-08-24 00:00:00.000000000 Z
|
40
13
|
dependencies: []
|
41
14
|
description:
|
42
15
|
email: michael@grosser.it
|
@@ -81,7 +54,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
81
54
|
version: '0'
|
82
55
|
segments:
|
83
56
|
- 0
|
84
|
-
hash:
|
57
|
+
hash: 2245798785145605998
|
85
58
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
59
|
none: false
|
87
60
|
requirements:
|
@@ -90,7 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
90
63
|
version: '0'
|
91
64
|
segments:
|
92
65
|
- 0
|
93
|
-
hash:
|
66
|
+
hash: 2245798785145605998
|
94
67
|
requirements: []
|
95
68
|
rubyforge_project:
|
96
69
|
rubygems_version: 1.8.25
|
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED
Binary file
|