diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2011-01-19 15:19:57 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2011-01-21 11:16:40 -0800 |
commit | 7642b7531d222c9d7a94add50fffca69458e0eef (patch) | |
tree | 9e22e5e921f344c888bad2217b4e25a2d4f91538 /activesupport/lib/active_support | |
parent | 2570c85cb7de03a2c9cc183c73707a267f2efb91 (diff) | |
download | rails-7642b7531d222c9d7a94add50fffca69458e0eef.tar.gz rails-7642b7531d222c9d7a94add50fffca69458e0eef.tar.bz2 rails-7642b7531d222c9d7a94add50fffca69458e0eef.zip |
prefering psych as the yaml parser if possible, fixing assertions for YAML 1.1 compatibility
Diffstat (limited to 'activesupport/lib/active_support')
-rw-r--r-- | activesupport/lib/active_support/core_ext/big_decimal/conversions.rb | 6 | ||||
-rw-r--r-- | activesupport/lib/active_support/time_with_zone.rb | 10 |
2 files changed, 16 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/core_ext/big_decimal/conversions.rb b/activesupport/lib/active_support/core_ext/big_decimal/conversions.rb index a279849829..11c318c244 100644 --- a/activesupport/lib/active_support/core_ext/big_decimal/conversions.rb +++ b/activesupport/lib/active_support/core_ext/big_decimal/conversions.rb @@ -1,4 +1,10 @@ require 'bigdecimal' + +begin + require 'psych' +rescue LoadError +end + require 'yaml' class BigDecimal diff --git a/activesupport/lib/active_support/time_with_zone.rb b/activesupport/lib/active_support/time_with_zone.rb index 8137f8e17e..3da216ac78 100644 --- a/activesupport/lib/active_support/time_with_zone.rb +++ b/activesupport/lib/active_support/time_with_zone.rb @@ -137,7 +137,17 @@ module ActiveSupport end end + def encode_with(coder) + if coder.respond_to?(:represent_object) + coder.represent_object(nil, utc) + else + coder.represent_scalar(nil, utc.strftime("%Y-%m-%d %H:%M:%S.%9NZ")) + end + end + def to_yaml(options = {}) + return super if defined?(YAML::ENGINE) && !YAML::ENGINE.syck? + utc.to_yaml(options) end |