Skip to content

bterkuile/delete_softly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Add soft delete to ActiveRecord

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages