diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2013-11-26 13:43:10 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2013-11-26 13:43:10 -0800 |
commit | 1029c92983fc2cf90107accb73cf69d206099694 (patch) | |
tree | d2ed870ca161882de0efdc4c2673d8a8b93fa8ac /lib/psych/visitors/yaml_tree.rb | |
parent | 6066fcc8d8d49ed22538cf33e2c3da61334d55b2 (diff) | |
download | psych-1029c92983fc2cf90107accb73cf69d206099694.zip |
fix support for negative years.
Fixes #168
Diffstat (limited to 'lib/psych/visitors/yaml_tree.rb')
-rw-r--r-- | lib/psych/visitors/yaml_tree.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/psych/visitors/yaml_tree.rb b/lib/psych/visitors/yaml_tree.rb index b469e2d..1cb2137 100644 --- a/lib/psych/visitors/yaml_tree.rb +++ b/lib/psych/visitors/yaml_tree.rb @@ -209,7 +209,11 @@ module Psych end def visit_DateTime o - formatted = format_time o.to_time + formatted = if o.offset.zero? + o.strftime("%Y-%m-%d %H:%M:%S.%9N Z".freeze) + else + o.strftime("%Y-%m-%d %H:%M:%S.%9N %:z".freeze) + end tag = '!ruby/object:DateTime' register o, @emitter.scalar(formatted, nil, tag, false, false, Nodes::Scalar::ANY) end |