diff options
author | Vasiliy Ermolovich <younash@gmail.com> | 2011-12-25 00:09:22 +0300 |
---|---|---|
committer | Vasiliy Ermolovich <younash@gmail.com> | 2011-12-25 00:09:22 +0300 |
commit | daef51ee0ae65a3646ec440107cd6686d8fb9e8c (patch) | |
tree | 9c7cc5b8fe490fba3b9faad3c2a383373f900dba /activesupport | |
parent | b28ed2bd4fb094c9420d14b858cebb47373e48d8 (diff) | |
download | rails-daef51ee0ae65a3646ec440107cd6686d8fb9e8c.tar.gz rails-daef51ee0ae65a3646ec440107cd6686d8fb9e8c.tar.bz2 rails-daef51ee0ae65a3646ec440107cd6686d8fb9e8c.zip |
remove Time._dump and Time._load patching for ruby 1.8
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/lib/active_support/core_ext/time/marshal.rb | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/activesupport/lib/active_support/core_ext/time/marshal.rb b/activesupport/lib/active_support/core_ext/time/marshal.rb index 457d3f5b62..1bf622d6a6 100644 --- a/activesupport/lib/active_support/core_ext/time/marshal.rb +++ b/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. |