Commit 3c081874 by Ryan Bigg

Merge pull request #18 from curtis/master

Implement persisted? method for ActiveRecord
parents f05f83dc f6d86d69
pkg/* pkg/*
*.gem *.gem
.bundle .bundle
tmp
.rvmrc
...@@ -7,22 +7,24 @@ PATH ...@@ -7,22 +7,24 @@ PATH
GEM GEM
remote: http://rubygems.org/ remote: http://rubygems.org/
specs: specs:
activemodel (3.0.8) activemodel (3.2.0)
activesupport (= 3.0.8) activesupport (= 3.2.0)
builder (~> 2.1.2) builder (~> 3.0.0)
i18n (~> 0.5.0) activerecord (3.2.0)
activerecord (3.0.8) activemodel (= 3.2.0)
activemodel (= 3.0.8) activesupport (= 3.2.0)
activesupport (= 3.0.8) arel (~> 3.0.0)
arel (~> 2.0.10) tzinfo (~> 0.3.29)
tzinfo (~> 0.3.23) activesupport (3.2.0)
activesupport (3.0.8) i18n (~> 0.6)
arel (2.0.10) multi_json (~> 1.0)
builder (2.1.2) arel (3.0.0)
i18n (0.5.0) builder (3.0.0)
i18n (0.6.0)
multi_json (1.0.4)
rake (0.8.7) rake (0.8.7)
sqlite3 (1.3.3) sqlite3 (1.3.5)
tzinfo (0.3.28) tzinfo (0.3.31)
PLATFORMS PLATFORMS
ruby ruby
......
...@@ -42,4 +42,11 @@ class ActiveRecord::Base ...@@ -42,4 +42,11 @@ class ActiveRecord::Base
def self.paranoid? ; false ; end def self.paranoid? ; false ; end
def paranoid? ; self.class.paranoid? ; end def paranoid? ; self.class.paranoid? ; end
# Override the persisted method to allow for the paranoia gem.
# If a paranoid record is selected, then we only want to check
# if it's a new record, not if it is "destroyed".
def persisted?
paranoid? ? !new_record? : super
end
end end
...@@ -30,6 +30,17 @@ class ParanoiaTest < Test::Unit::TestCase ...@@ -30,6 +30,17 @@ class ParanoiaTest < Test::Unit::TestCase
assert_equal true, ParanoidModel.new.paranoid? assert_equal true, ParanoidModel.new.paranoid?
end end
def test_paranoid_models_to_param
model = ParanoidModel.new
model.save
to_param = model.to_param
model.destroy
assert_not_equal nil, model.to_param
assert_equal to_param, model.to_param
end
def test_destroy_behavior_for_plain_models def test_destroy_behavior_for_plain_models
model = PlainModel.new model = PlainModel.new
assert_equal 0, model.class.count assert_equal 0, model.class.count
......
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