Commit 3c081874 by Ryan Bigg

Merge pull request #18 from curtis/master

Implement persisted? method for ActiveRecord
parents f05f83dc f6d86d69
pkg/*
*.gem
.bundle
tmp
.rvmrc
......@@ -7,22 +7,24 @@ PATH
GEM
remote: http://rubygems.org/
specs:
activemodel (3.0.8)
activesupport (= 3.0.8)
builder (~> 2.1.2)
i18n (~> 0.5.0)
activerecord (3.0.8)
activemodel (= 3.0.8)
activesupport (= 3.0.8)
arel (~> 2.0.10)
tzinfo (~> 0.3.23)
activesupport (3.0.8)
arel (2.0.10)
builder (2.1.2)
i18n (0.5.0)
activemodel (3.2.0)
activesupport (= 3.2.0)
builder (~> 3.0.0)
activerecord (3.2.0)
activemodel (= 3.2.0)
activesupport (= 3.2.0)
arel (~> 3.0.0)
tzinfo (~> 0.3.29)
activesupport (3.2.0)
i18n (~> 0.6)
multi_json (~> 1.0)
arel (3.0.0)
builder (3.0.0)
i18n (0.6.0)
multi_json (1.0.4)
rake (0.8.7)
sqlite3 (1.3.3)
tzinfo (0.3.28)
sqlite3 (1.3.5)
tzinfo (0.3.31)
PLATFORMS
ruby
......
......@@ -42,4 +42,11 @@ class ActiveRecord::Base
def self.paranoid? ; false ; 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
......@@ -30,6 +30,17 @@ class ParanoiaTest < Test::Unit::TestCase
assert_equal true, ParanoidModel.new.paranoid?
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
model = PlainModel.new
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