Permalink
Browse files

Changed the auto-timestamping feature to use ActiveRecord::Base.defau…

…lt_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]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@788 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent f73f9e4 commit 4fbc3e30eb800d938a0dd637316fa785c402b26b @dhh dhh committed Feb 24, 2005
Showing with 17 additions and 5 deletions.
  1. +2 −0 activerecord/CHANGELOG
  2. +13 −3 activerecord/lib/active_record/timestamp.rb
  3. +2 −2 activerecord/test/base_test.rb
View
@@ -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
@@ -19,7 +19,7 @@ def self.append_features(base) # :nodoc:
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 @@ def create_with_timestamps #:nodoc:
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 @@ class Base
# 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
@@ -709,13 +709,13 @@ def test_reload
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

0 comments on commit 4fbc3e3

Please sign in to comment.