diff options
-rw-r--r-- | activerecord/CHANGELOG | 2 | ||||
-rw-r--r-- | activerecord/lib/active_record/timestamp.rb | 16 | ||||
-rwxr-xr-x | activerecord/test/base_test.rb | 4 |
3 files changed, 17 insertions, 5 deletions
diff --git a/activerecord/CHANGELOG b/activerecord/CHANGELOG index 4177823180..9ea84c0fb6 100644 --- a/activerecord/CHANGELOG +++ b/activerecord/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Changed the auto-timestamping feature to use ActiveRecord::Base.default_timezone instead of entertaining the parallel ActiveRecord::Base.timestamps_gmt method. The latter is now deprecated and will throw a warning on use (but still work) #710 [Jamis Buck] + * Added a OCI8-based Oracle adapter that has been verified to work with Oracle 8 and 9 #629 [Graham Jenkins]. Usage notes: 1. Key generation uses a sequence "rails_sequence" for all tables. (I couldn't find a simple diff --git a/activerecord/lib/active_record/timestamp.rb b/activerecord/lib/active_record/timestamp.rb index 01a9720f52..c3de93d552 100644 --- a/activerecord/lib/active_record/timestamp.rb +++ b/activerecord/lib/active_record/timestamp.rb @@ -19,7 +19,7 @@ module ActiveRecord end def create_with_timestamps #:nodoc: - t = timestamps_gmt ? Time.now.gmtime : Time.now + t = ( self.class.default_timezone == :utc ? Time.now.utc : Time.now ) write_attribute("created_at", t) if record_timestamps && respond_to?(:created_at) && created_at.nil? write_attribute("created_on", t) if record_timestamps && respond_to?(:created_on) && created_on.nil? @@ -30,7 +30,7 @@ module ActiveRecord end def update_with_timestamps #:nodoc: - t = timestamps_gmt ? Time.now.gmtime : Time.now + t = ( self.class.default_timezone == :utc ? Time.now.utc : Time.now ) write_attribute("updated_at", t) if record_timestamps && respond_to?(:updated_at) write_attribute("updated_on", t) if record_timestamps && respond_to?(:updated_on) @@ -44,7 +44,17 @@ module ActiveRecord # if the table has columns of either of these names. This feature is turned on by default. @@record_timestamps = true cattr_accessor :record_timestamps + + # deprecated: use ActiveRecord::Base.default_timezone instead. @@timestamps_gmt = false - cattr_accessor :timestamps_gmt + def self.timestamps_gmt=( gmt ) #:nodoc: + warn "timestamps_gmt= is deprecated. use default_timezone= instead" + self.default_timezone = ( gmt ? :utc : :local ) + end + + def self.timestamps_gmt #:nodoc: + warn "timestamps_gmt is deprecated. use default_timezone instead" + self.default_timezone == :utc + end end end diff --git a/activerecord/test/base_test.rb b/activerecord/test/base_test.rb index b232949a25..2a704424b1 100755 --- a/activerecord/test/base_test.rb +++ b/activerecord/test/base_test.rb @@ -709,13 +709,13 @@ class BasicsTest < Test::Unit::TestCase def test_define_attr_method_with_value k = Class.new( ActiveRecord::Base ) - k.define_attr_method :table_name, "foo" + k.send(:define_attr_method, :table_name, "foo") assert_equal "foo", k.table_name end def test_define_attr_method_with_block k = Class.new( ActiveRecord::Base ) - k.define_attr_method( :primary_key ) { "sys_" + original_primary_key } + k.send(:define_attr_method, :primary_key) { "sys_" + original_primary_key } assert_equal "sys_id", k.primary_key end |