Skip to content
Browse files

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
  • Loading branch information...
1 parent 37a004d commit 6ef3bc3d02de0edcc55085f0010d27e517ebd839 @jeremy jeremy committed Mar 29, 2008
View
3 activesupport/lib/active_support/core_ext/date_time/conversions.rb
@@ -5,13 +5,14 @@ module DateTime #: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
View
2 activesupport/test/core_ext/date_time_ext_test.rb
@@ -3,13 +3,13 @@
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

0 comments on commit 6ef3bc3

Please sign in to comment.
Something went wrong with that request. Please try again.