From 44ff7f2b656f49c5e294a32e64240d999ae4b396 Mon Sep 17 00:00:00 2001 From: Olly Legg Date: Fri, 13 Mar 2009 14:31:47 +0000 Subject: [PATCH] Added ActiveRecord::Base#saved? method. --- activerecord/lib/active_record/base.rb | 5 +++++ activerecord/test/cases/base_test.rb | 5 +++++ 2 files changed, 10 insertions(+), 0 deletions(-) diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index 4ef3cc6..d46fc1d 100755 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -2517,6 +2517,11 @@ module ActiveRecord #:nodoc: def new_record? @new_record || false end + + # Returns true if object reflects an existing database record. + def saved_record? + !new_record? + end # :call-seq: # save(perform_validation = true) diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index 99d7796..97ac5ff 100755 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -1209,6 +1209,11 @@ class BasicsTest < ActiveRecord::TestCase assert_equal Topic.new.new_record?, true assert_equal Topic.find(1).new_record?, false end + + def test_saved_returns_boolean + assert_equal Topic.new.saved_record?, false + assert_equal Topic.find(1).saved_record?, true + end def test_clone topic = Topic.find(1) -- 1.6.1