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
c3e840e8
Commit
c3e840e8
authored
May 27, 2011
by
Aditya Sanghi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adding only_deleted scope and updating readme with some compatibility comments.
parent
e0e1d300
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
26 additions
and
11 deletions
+26
-11
README.md
+7
-9
lib/paranoia.rb
+6
-0
test/paranoia_test.rb
+13
-2
No files found.
README.md
View file @
c3e840e8
...
...
@@ -62,15 +62,13 @@ If you want a method to be called on destroy, simply provide a _before\_destroy_
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)
find_with_deleted([id1,id2]) => unscoped.find([id1,id2])
find_only_deleted(:all) => unscoped.where("deleted_at is not null")
find_only_deleted(:first) => unscoped.where("deleted_at is not null").first
find_only_deleted(id) => unscoped.where("deleted_at is not null").find(id)
find_only_deleted([id1,id2]) => unscoped.where("deleted_at is not null").find([id1,id2])
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)
## License
...
...
lib/paranoia.rb
View file @
c3e840e8
...
...
@@ -5,6 +5,12 @@ module Paranoia
module
Query
def
paranoid?
;
true
;
end
def
only_deleted
unscoped
{
where
(
"deleted_at is not null"
)
}
end
end
def
destroy
...
...
test/paranoia_test.rb
View file @
c3e840e8
...
...
@@ -38,7 +38,7 @@ class ParanoiaTest < Test::Unit::TestCase
assert_equal
true
,
model
.
deleted_at
.
nil?
assert
model
.
frozen?
assert_equal
0
,
model
.
class
.
count
assert_equal
0
,
model
.
class
.
unscoped
.
count
end
...
...
@@ -66,11 +66,22 @@ class ParanoiaTest < Test::Unit::TestCase
model
.
delete
assert_equal
false
,
model
.
deleted_at
.
nil?
assert_equal
0
,
model
.
class
.
count
assert_equal
1
,
model
.
class
.
unscoped
.
count
end
def
test_only_deleted_scope_for_paranoid_models
model
=
ParanoidModel
.
new
model
.
save
model
.
delete
model2
=
ParanoidModel
.
new
model2
.
save
assert_equal
model
,
ParanoidModel
.
only_deleted
.
last
assert_equal
false
,
ParanoidModel
.
only_deleted
.
include?
(
model2
)
end
private
def
get_featureful_model
FeaturefulModel
.
new
(
:name
=>
"not empty"
)
...
...
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