diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2014-01-10 09:30:32 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2014-01-10 09:30:32 -0800 |
commit | bd1bf2c5b8480fae0379890347d58b9fe8231e3e (patch) | |
tree | af64fb69154a42c146615ab8ad855da95b04b67f | |
parent | 35cc32841ed343e3013cdf67e7330647d50d668b (diff) | |
parent | 2af5303683f729bb1a4eb582a023276b8a0db402 (diff) | |
download | rails-bd1bf2c5b8480fae0379890347d58b9fe8231e3e.tar.gz rails-bd1bf2c5b8480fae0379890347d58b9fe8231e3e.tar.bz2 rails-bd1bf2c5b8480fae0379890347d58b9fe8231e3e.zip |
Merge branch 'ruby-2.2'
* ruby-2.2:
Check `respond_to` before delegation due to: https://github.com/ruby/ruby/commit/d781caaf313b8649948c107bba277e5ad7307314
-rw-r--r-- | activesupport/lib/active_support/core_ext/date_time/calculations.rb | 6 | ||||
-rw-r--r-- | activesupport/lib/active_support/values/time_zone.rb | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/core_ext/date_time/calculations.rb b/activesupport/lib/active_support/core_ext/date_time/calculations.rb index 8e5d723074..73ad0aa097 100644 --- a/activesupport/lib/active_support/core_ext/date_time/calculations.rb +++ b/activesupport/lib/active_support/core_ext/date_time/calculations.rb @@ -151,7 +151,11 @@ class DateTime # Layers additional behavior on DateTime#<=> so that Time and # ActiveSupport::TimeWithZone instances can be compared with a DateTime. def <=>(other) - super other.to_datetime + if other.respond_to? :to_datetime + super other.to_datetime + else + nil + end end end diff --git a/activesupport/lib/active_support/values/time_zone.rb b/activesupport/lib/active_support/values/time_zone.rb index 8ca4973162..beaac42fa1 100644 --- a/activesupport/lib/active_support/values/time_zone.rb +++ b/activesupport/lib/active_support/values/time_zone.rb @@ -234,6 +234,7 @@ module ActiveSupport # Compare this time zone to the parameter. The two are compared first on # their offsets, and then by name. def <=>(zone) + return unless zone.respond_to? :utc_offset result = (utc_offset <=> zone.utc_offset) result = (name <=> zone.name) if result == 0 result |