1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Move to_time to DateTime compatibility.rb file

We are overriding it in `Time` and `ActiveSupport::TimeWithZone` so
there's no point in having it in the `DateAndTime::Compatibility`
module. Also add some docs for the `to_time` implementations.
This commit is contained in:
Andrew White 2017-03-16 09:14:13 +00:00
parent ee33b9e93a
commit 5055370828
4 changed files with 16 additions and 6 deletions

View file

@ -10,9 +10,5 @@ module DateAndTime
# this behavior, but new apps will have an initializer that sets
# this to true, because the new behavior is preferred.
mattr_accessor(:preserve_timezone, instance_writer: false) { false }
def to_time
preserve_timezone ? getlocal(utc_offset) : getlocal
end
end
end

View file

@ -1,5 +1,15 @@
require "active_support/core_ext/date_and_time/compatibility"
class DateTime
prepend DateAndTime::Compatibility
include DateAndTime::Compatibility
remove_possible_method :to_time
# Either return an instance of `Time` with the same UTC offset
# as +self+ or an instance of `Time` representing the same time
# in the the local system timezone depending on the setting of
# on the setting of +ActiveSupport.to_time_preserves_timezone+.
def to_time
preserve_timezone ? getlocal(utc_offset) : getlocal
end
end

View file

@ -6,6 +6,8 @@ class Time
remove_possible_method :to_time
# Either return +self+ or the time in the local system timezone depending
# on the setting of +ActiveSupport.to_time_preserves_timezone+.
def to_time
preserve_timezone ? self : getlocal
end

View file

@ -411,7 +411,9 @@ module ActiveSupport
@to_datetime ||= utc.to_datetime.new_offset(Rational(utc_offset, 86_400))
end
# Returns an instance of <tt>Time</tt>
# Returns an instance of +Time+, either with the same UTC offset
# as +self+ or in the local system timezone depending on the setting
# of +ActiveSupport.to_time_preserves_timezone+.
def to_time
if preserve_timezone
@to_time_with_instance_offset ||= getlocal(utc_offset)