mirror of
https://github.com/github/rails.git
synced 2026-02-01 17:54:59 -05:00
Ruby 1.8.7 compat: detect and alias non-superclass DateTime#to_s
This commit is contained in:
@@ -3,17 +3,22 @@ module ActiveSupport #:nodoc:
|
||||
module DateTime #:nodoc:
|
||||
# Converting datetimes to formatted strings, dates, and times.
|
||||
module Conversions
|
||||
def self.included(base) #:nodoc:
|
||||
def self.append_features(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
|
||||
alias_method :to_default_s, :to_s unless (instance_methods(false) & [:to_s, 'to_s']).empty?
|
||||
|
||||
# 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 instance_methods.include?(:to_time)
|
||||
end
|
||||
|
||||
super
|
||||
|
||||
base.class_eval do
|
||||
alias_method :to_s, :to_formatted_s
|
||||
alias_method :inspect, :readable_inspect
|
||||
end
|
||||
end
|
||||
|
||||
# Convert to a formatted string. See Time::DATE_FORMATS for predefined formats.
|
||||
|
||||
Reference in New Issue
Block a user