Skip to content
Browse files

Merge pull request #4173 from nashby/remove-time-marshaling-18

remove Time._dump and Time._load patching for ruby 1.8
  • Loading branch information...
2 parents 7c9bcbb + daef51e commit 41e466fda827b9e002bb356e34ba4b82f7b72059 @josevalim josevalim committed Dec 24, 2011
Showing with 0 additions and 27 deletions.
  1. +0 −27 activesupport/lib/active_support/core_ext/time/marshal.rb
View
27 activesupport/lib/active_support/core_ext/time/marshal.rb
@@ -1,30 +1,3 @@
-# Pre-1.9 versions of Ruby have a bug with marshaling Time instances, where utc instances are
-# unmarshalled in the local zone, instead of utc. We're layering behavior on the _dump and _load
-# methods so that utc instances can be flagged on dump, and coerced back to utc on load.
-if !Marshal.load(Marshal.dump(Time.now.utc)).utc?
- class Time
- class << self
- alias_method :_load_without_utc_flag, :_load
- def _load(marshaled_time)
- time = _load_without_utc_flag(marshaled_time)
- time.instance_eval do
- if defined?(@marshal_with_utc_coercion)
- val = remove_instance_variable("@marshal_with_utc_coercion")
- end
- val ? utc : self
- end
- end
- end
-
- alias_method :_dump_without_utc_flag, :_dump
- def _dump(*args)
- obj = dup
- obj.instance_variable_set('@marshal_with_utc_coercion', utc?)
- obj._dump_without_utc_flag(*args)
- end
- end
-end
-
# Ruby 1.9.2 adds utc_offset and zone to Time, but marshaling only
# preserves utc_offset. Preserve zone also, even though it may not
# work in some edge cases.

0 comments on commit 41e466f

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