Sha256: 6dcfa3be0343b5c985295f7ea0530215122d704b2ce963e91d55ab7b9651740c
Contents?: true
Size: 1.37 KB
Versions: 1
Compression:
Stored size: 1.37 KB
Contents
Explicit soft deletion for ActiveRecord via deleted_at and default scope + callbacks.<br/> Not overwriting destroy or delete. Install ======= gem install soft_deletion Or rails plugin install git://github.com/grosser/soft_deletion.git Usage ===== # mix into any model ... class User < ActiveRecord::Base include SoftDeletion after_soft_delete :send_deletion_emails # Rails 2 + 3 set_callback :soft_delete, :after, :prepare_emails # Rails 3 has_many :products end # soft delete them including all dependencies that are marked as :destroy, :delete_all, :nullify user = User.first user.products.count == 10 user.soft_delete! user.deleted? # true # use special with_deleted scope to find them ... user.reload # ActiveRecord::RecordNotFound User.with_deleted do user.reload # there it is ... user.products.count == 0 end # soft undelete them all user.soft_undelete! user.products.count == 10 TODO ==== - Rails 3 from with inspiration from https://github.com/JackDanger/permanent_records/blob/master/lib/permanent_records.rb - maybe stuff from https://github.com/smoku/soft_delete Author ====== [ZenDesk](http://zendesk.com)<br/> michael@grosser.it<br/> License: MIT<br/> [](http://travis-ci.org/grosser/soft_deletion)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
soft_deletion-0.1.2 | Readme.md |