From 6ef3bc3d02de0edcc55085f0010d27e517ebd839 Mon Sep 17 00:00:00 2001
From: Jeremy Kemper <jeremy@bitsweat.net>
Date: Sat, 29 Mar 2008 21:23:10 +0000
Subject: Play nice with 1.9's DateTime#to_s

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9137 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
---
 activesupport/lib/active_support/core_ext/date_time/conversions.rb | 3 ++-
 activesupport/test/core_ext/date_time_ext_test.rb                  | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/activesupport/lib/active_support/core_ext/date_time/conversions.rb b/activesupport/lib/active_support/core_ext/date_time/conversions.rb
index 9b6d6e5e90..c86a527045 100644
--- a/activesupport/lib/active_support/core_ext/date_time/conversions.rb
+++ b/activesupport/lib/active_support/core_ext/date_time/conversions.rb
@@ -5,13 +5,14 @@ module ActiveSupport #:nodoc:
       module Conversions
         def self.included(base) #:nodoc:
           base.class_eval do
+            alias_method :to_default_s, :to_s if instance_methods.include?(:to_s)
             alias_method :to_s, :to_formatted_s
             alias_method :default_inspect, :inspect
             alias_method :inspect, :readable_inspect
 
             # Ruby 1.9 has DateTime#to_time which internally relies on Time. We define our own #to_time which allows
             # DateTimes outside the range of what can be created with Time.
-            remove_method :to_time if base.instance_methods.include?(:to_time)
+            remove_method :to_time if instance_methods.include?(:to_time)
           end
         end
 
diff --git a/activesupport/test/core_ext/date_time_ext_test.rb b/activesupport/test/core_ext/date_time_ext_test.rb
index 42aaf0ebad..25a8e878f9 100644
--- a/activesupport/test/core_ext/date_time_ext_test.rb
+++ b/activesupport/test/core_ext/date_time_ext_test.rb
@@ -3,13 +3,13 @@ require 'abstract_unit'
 class DateTimeExtCalculationsTest < Test::Unit::TestCase
   def test_to_s
     datetime = DateTime.new(2005, 2, 21, 14, 30, 0, 0)
-    assert_match(/^2005-02-21T14:30:00(Z|\+00:00)$/,  datetime.to_s)
     assert_equal "2005-02-21 14:30:00",               datetime.to_s(:db)
     assert_equal "14:30",                             datetime.to_s(:time)
     assert_equal "21 Feb 14:30",                      datetime.to_s(:short)
     assert_equal "February 21, 2005 14:30",           datetime.to_s(:long)
     assert_equal "Mon, 21 Feb 2005 14:30:00 +0000",   datetime.to_s(:rfc822)
     assert_equal "February 21st, 2005 14:30",         datetime.to_s(:long_ordinal)
+    assert_match(/^2005-02-21T14:30:00(Z|\+00:00)$/,  datetime.to_s)
   end
 
   def test_readable_inspect
-- 
cgit v1.2.3