public
Description: Rails Plugin - soft-delete your ActiveRecord records with a deleted_at timestamp. This is a much more explicit version of ActsAsParanoid
Homepage: http://6brand.com
Clone URL: git://github.com/JackDanger/permanent_records.git
Search Repo:
JackDanger (author)
Fri Jul 04 21:24:27 -0700 2008
commit  fee38cee259e8ccd2def013a8e430ac3d223ae6a
tree    0260e48f226843457b513ed2eb040a8372de28ff
parent  3cbb27ff947ba1f8e65dac2a77f6f34af32db818
name age message
folder MIT-LICENSE Thu Jan 31 10:19:07 -0800 2008 initial checkin of permanent_records plugin [studioda]
folder README Thu Jan 31 10:19:07 -0800 2008 initial checkin of permanent_records plugin [studioda]
folder Rakefile Thu Jan 31 10:19:07 -0800 2008 initial checkin of permanent_records plugin [studioda]
folder init.rb Thu Jan 31 10:19:07 -0800 2008 initial checkin of permanent_records plugin [studioda]
folder install.rb Thu Jan 31 10:19:07 -0800 2008 initial checkin of permanent_records plugin [studioda]
folder lib/ Fri May 16 13:14:06 -0700 2008 has_many :dependent => :destroy should work ... [ahaller]
folder tasks/ Thu Jan 31 10:19:07 -0800 2008 initial checkin of permanent_records plugin [studioda]
folder test/ Fri Jul 04 21:24:27 -0700 2008 removing debug log [JackDanger]
folder uninstall.rb Thu Jan 31 10:19:07 -0800 2008 initial checkin of permanent_records plugin [studioda]
README
PermanentRecords
================

This plugin prevents any of your records from being destroyed casually.
Any model with a deleted_at datetime column will have that column set rather than being deleted.

Usage
=======

User.find(3).destroy          # sets the 'deleted_at' attribute to Time.now and returns a frozen record
User.find(3).destroy(:force)  # executes the real destroy method, the record will be removed from the database
User.delete_all               # bye bye everything

There are also two named scopes provided for easily searching deleted and not deleted records:

User.send :with_deleted { User.find(:all) }     # only returns deleted records.
User.send :with_not_deleted { User.find(:all) } # you guessed it.

These are named so as to work smoothly with other scoping plugins like scope_out.


Copyright (c) 2008 Jack Danger Canty of adPickles Inc., released under the MIT license