Merge pull request #52084 from jhawthorn/time_with_zone_always_time

Remove dead code for DateTime-backed TimeWithZone
This commit is contained in:
John Hawthorn 2024-07-11 14:59:00 -07:00 committed by GitHub
commit 4867559a10
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 6 deletions

@ -300,7 +300,7 @@ def +(other)
if duration_of_variable_length?(other)
method_missing(:+, other)
else
result = utc.acts_like?(:date) ? utc.since(other) : utc + other rescue utc.since(other)
result = utc + other
result.in_time_zone(time_zone)
end
end
@ -336,7 +336,7 @@ def -(other)
elsif duration_of_variable_length?(other)
method_missing(:-, other)
else
result = utc.acts_like?(:date) ? utc.ago(other) : utc - other rescue utc.ago(other)
result = utc - other
result.in_time_zone(time_zone)
end
end
@ -537,7 +537,6 @@ def respond_to?(sym, include_priv = false)
# Ensure proxy class responds to all methods that underlying time instance
# responds to.
def respond_to_missing?(sym, include_priv)
return false if sym.to_sym == :acts_like_date?
time.respond_to?(sym, include_priv)
end

@ -394,9 +394,10 @@ def test_plus_with_integer_when_self_wraps_datetime
assert_equal DateTime.civil(1999, 12, 31, 19, 0, 5), (twz + 5).time
end
def test_plus_when_crossing_time_class_limit
twz = ActiveSupport::TimeWithZone.new(Time.utc(2038, 1, 19), @time_zone)
assert_equal [0, 0, 19, 19, 1, 2038], (twz + 86_400).to_a[0, 6]
def test_no_limit_on_times
twz = ActiveSupport::TimeWithZone.new(Time.utc(2000, 1, 1), @time_zone)
assert_equal [0, 0, 19, 31, 12, 11999], (twz + 10_000.years).to_a[0, 6]
assert_equal [0, 0, 19, 31, 12, -8001], (twz - 10_000.years).to_a[0, 6]
end
def test_plus_with_duration