aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2011-10-26 18:20:12 +0100
committerPratik Naik <pratiknaik@gmail.com>2011-10-26 18:20:12 +0100
commit0d0176c4ffe5c58fd1002efbd8f7bd45a8872e33 (patch)
tree0c0807a6690d5a645d157dcd6f7f83c955bc2f2c /activerecord
parenta89d16b39b2af5276154d06e349b6a8705e13868 (diff)
downloadrails-0d0176c4ffe5c58fd1002efbd8f7bd45a8872e33.tar.gz
rails-0d0176c4ffe5c58fd1002efbd8f7bd45a8872e33.tar.bz2
rails-0d0176c4ffe5c58fd1002efbd8f7bd45a8872e33.zip
Allow instances to disable record_timestamps
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/timestamp.rb2
-rw-r--r--activerecord/test/cases/timestamp_test.rb10
2 files changed, 11 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/timestamp.rb b/activerecord/lib/active_record/timestamp.rb
index 4d5e469a7f..0c760e9850 100644
--- a/activerecord/lib/active_record/timestamp.rb
+++ b/activerecord/lib/active_record/timestamp.rb
@@ -33,7 +33,7 @@ module ActiveRecord
extend ActiveSupport::Concern
included do
- class_attribute :record_timestamps, :instance_writer => false
+ class_attribute :record_timestamps
self.record_timestamps = true
end
diff --git a/activerecord/test/cases/timestamp_test.rb b/activerecord/test/cases/timestamp_test.rb
index 4445a12e1d..447aa29ffe 100644
--- a/activerecord/test/cases/timestamp_test.rb
+++ b/activerecord/test/cases/timestamp_test.rb
@@ -60,6 +60,16 @@ class TimestampTest < ActiveRecord::TestCase
Developer.record_timestamps = true
end
+ def test_saving_when_instance_record_timestamps_is_false_doesnt_update_its_timestamp
+ @developer.record_timestamps = false
+ assert Developer.record_timestamps
+
+ @developer.name = "John Smith"
+ @developer.save!
+
+ assert_equal @previously_updated_at, @developer.updated_at
+ end
+
def test_touching_an_attribute_updates_timestamp
previously_created_at = @developer.created_at
@developer.touch(:created_at)