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
...
@@ -8,7 +8,9 @@ You would use either plugin / gem if you wished that when you called `destroy` o
Put this in your Gemfile:
Put this in your Gemfile:
gem 'paranoia'
```
ruby
gem
'paranoia'
```
Then run
`bundle`
. Done.
Then run
`bundle`
. Done.
...
@@ -18,69 +20,85 @@ Updating is as simple as `bundle update paranoia`.
...
@@ -18,69 +20,85 @@ Updating is as simple as `bundle update paranoia`.
In your _Gemfile_:
In your _Gemfile_:
gem 'paranoia'
```
ruby
gem
'paranoia'
```
Then run:
Then run:
bundle install
```
shell
bundle install
```
#### Rails 2:
#### Rails 2:
In your _config/environment.rb_:
In your _config/environment.rb_:
config.gem 'paranoia'
```
ruby
config
.
gem
'paranoia'
```
Then run:
Then run:
rake gems:install
```
shell
rake gems:install
```
#### Run your migrations for the desired models
#### Run your migrations for the desired models
class AddDeletedAtToClient < ActiveRecord::Migration
```
ruby
def self.up
class
AddDeletedAtToClient
<
ActiveRecord
::
Migration
add_column :clients, :deleted_at, :datetime
def
self
.
up
end
add_column
:clients
,
:deleted_at
,
:datetime
end
def self.down
remove_column :clients, :deleted_at
def
self
.
down
end
remove_column
:clients
,
:deleted_at
end
end
end
```
### Usage
### Usage
#### In your model:
#### In your model:
class Client < ActiveRecord::Base
```
ruby
acts_as_paranoid
class
Client
<
ActiveRecord
::
Base
acts_as_paranoid
...
...
end
end
```
Hey presto, it's there!
Hey presto, it's there!
If you want a method to be called on destroy, simply provide a _before
\_
destroy_ callback:
If you want a method to be called on destroy, simply provide a _before
\_
destroy_ callback:
class Client < ActiveRecord::Base
```
ruby
acts_as_paranoid
class
Client
<
ActiveRecord
::
Base
acts_as_paranoid
before_destroy :some_method
before_destroy
:some_method
def some_method
def
some_method
# do stuff
# do stuff
end
end
...
...
end
end
```
You can replace the older acts_as_paranoid methods as follows:
You can replace the older acts_as_paranoid methods as follows:
find_with_deleted(:all) # => unscoped
```
ruby
find_with_deleted(:first) # => unscoped.first
find_with_deleted
(
:all
)
# => unscoped
find_with_deleted(id) # => unscoped.find(id)
find_with_deleted
(
:first
)
# => unscoped.first
find_with_deleted
(
id
)
# => unscoped.find(id)
find_only_deleted(:all) # => only_deleted
find_only_deleted
(
:all
)
# => only_deleted
find_only_deleted(:first) # => only_deleted.first
find_only_deleted
(
:first
)
# => only_deleted.first
find_only_deleted(id) # => only_deleted.find(id)
find_only_deleted
(
id
)
# => only_deleted.find(id)
```
## License
## 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