-
Notifications
You must be signed in to change notification settings - Fork 2
/
README
45 lines (36 loc) · 1.02 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
DeleteSoftly
============
Add soft delete functionality to ActiveRecord models. Important information:
This is Rails3 only, no backwards compatibility. Important features are
* It works through relations
* papertrail support
Tested with Postgresql
New in version 0.3
* without_deleted, same as active, but not meant to be overwritten
* deleted is back, misteriously disappeared in version 0.2
Example
=======
class Post
# Replace normal behavior of object completely
delete_softly
end
class Comment
# Rely on calling active for this object when needed
delete_softly false
end
Now the following stuff works:
== The Post model ==
p1 = Post.create
p2 = Post.create
Post.count #=> 2
p2.destroy
Post.count #=> 1
Post.at_time(1.year.ago).count #=> 0
c1 = Comment.create
c2 = Comment.create
Comment.count #=> 2
c1.destroy
Comment.count #=> 2 (Since we added false)
Comment.active.count #=> 1
See the rdoc for better examples and documentation
Copyright (c) 2010 [Benjamin ter Kuile], released under the MIT license