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