Commit e80af3db by Scott Gonyea

How-to Use Documentation

parent 9fdb255e
h1. Paranoia # Paranoia
Paranoia is a re-implementation of [acts\_as\_paranoid](http://github.com/technoweenie/acts_as_paranoid) for Rails 3, using much, much, much less code. Paranoia is a re-implementation of [acts\_as\_paranoid](http://github.com/technoweenie/acts_as_paranoid) for Rails 3, using much, much, much less code.
You would use either plugin / gem if you wished that when you called `destroy` on an Active Record object that it didn't actually destroy it, but just "hid" the record. Paranoia does this by setting a `deleted_at` field to the current time when you `destroy` a record, and hides it by scoping all queries on your model to only include records which do not have a `deleted_at` field. You would use either plugin / gem if you wished that when you called `destroy` on an Active Record object that it didn't actually destroy it, but just "hid" the record. Paranoia does this by setting a `deleted_at` field to the current time when you `destroy` a record, and hides it by scoping all queries on your model to only include records which do not have a `deleted_at` field.
h2. Installation & Usage ## Installation & Usage
h3. Initial installation ### Initial installation
#### Rails 3
In your _Gemfile_: In your _Gemfile_:
gem 'paranoia' gem 'paranoia'
Then run `bundle install` Then run:
bundle install
Or if you're still on Rails 2: #### Rails 2:
In your _config/environment.rb_:
config.gem 'paranoia' config.gem 'paranoia'
Then run `rake gems:install` Then run:
rake gems:install
h3. Usage ### Usage
In your model: #### In your model:
class Client < ActiveRecord::Base class Client < ActiveRecord::Base
acts_as_paranoid acts_as_paranoid
...@@ -32,6 +40,20 @@ In your model: ...@@ -32,6 +40,20 @@ In your model:
Hey presto, it's there! Hey presto, it's there!
h2. License If you want a method to be called on destroy, simply provide a _before\_destroy_ callback:
class Client < ActiveRecord::Base
acts_as_paranoid
before_destroy :some_method
def some_method
# do stuff
end
...
end
## License
This gem is released under the MIT license. This gem is released under the MIT license.
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment