0.0
No commit activity in last 3 years
No release in over 3 years
Add soft delete functionality to your ActiveRecord models
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme
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