Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
paranoia
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ikcrm_common
paranoia
Commits
50e0b614
Commit
50e0b614
authored
Apr 02, 2012
by
Philip Arndt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added GitHub flavouring to your Markdown!
parent
3c081874
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
50 additions
and
32 deletions
+50
-32
README.md
+50
-32
No files found.
README.md
View file @
50e0b614
...
...
@@ -8,7 +8,9 @@ You would use either plugin / gem if you wished that when you called `destroy` o
Put this in your Gemfile:
gem 'paranoia'
```
ruby
gem
'paranoia'
```
Then run
`bundle`
. Done.
...
...
@@ -18,69 +20,85 @@ Updating is as simple as `bundle update paranoia`.
In your _Gemfile_:
gem 'paranoia'
```
ruby
gem
'paranoia'
```
Then run:
bundle install
```
shell
bundle install
```
#### Rails 2:
In your _config/environment.rb_:
config.gem 'paranoia'
```
ruby
config
.
gem
'paranoia'
```
Then run:
rake gems:install
```
shell
rake gems:install
```
#### Run your migrations for the desired models
class AddDeletedAtToClient < ActiveRecord::Migration
def self.up
add_column :clients, :deleted_at, :datetime
end
def self.down
remove_column :clients, :deleted_at
end
end
```
ruby
class
AddDeletedAtToClient
<
ActiveRecord
::
Migration
def
self
.
up
add_column
:clients
,
:deleted_at
,
:datetime
end
def
self
.
down
remove_column
:clients
,
:deleted_at
end
end
```
### Usage
#### In your model:
class Client < ActiveRecord::Base
acts_as_paranoid
```
ruby
class
Client
<
ActiveRecord
::
Base
acts_as_paranoid
...
end
...
end
```
Hey presto, it's there!
If you want a method to be called on destroy, simply provide a _before
\_
destroy_ callback:
class Client < ActiveRecord::Base
acts_as_paranoid
```
ruby
class
Client
<
ActiveRecord
::
Base
acts_as_paranoid
before_destroy :some_method
before_destroy
:some_method
def some_method
# do stuff
end
def
some_method
# do stuff
end
...
end
...
end
```
You can replace the older acts_as_paranoid methods as follows:
find_with_deleted(:all) # => unscoped
find_with_deleted(:first) # => unscoped.first
find_with_deleted(id) # => unscoped.find(id)
```
ruby
find_with_deleted
(
:all
)
# => unscoped
find_with_deleted
(
:first
)
# => unscoped.first
find_with_deleted
(
id
)
# => unscoped.find(id)
find_only_deleted(:all) # => only_deleted
find_only_deleted(:first) # => only_deleted.first
find_only_deleted(id) # => only_deleted.find(id)
find_only_deleted
(
:all
)
# => only_deleted
find_only_deleted
(
:first
)
# => only_deleted.first
find_only_deleted
(
id
)
# => only_deleted.find(id)
```
## License
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment