diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2006-09-29 22:23:16 +0000 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2006-09-29 22:23:16 +0000 |
commit | cb978baafa68c9bb4f1311df417947249586f47d (patch) | |
tree | 7944971bef1ca0bda41eca04c5d509f2c960bbb0 /activesupport/lib/active_support | |
parent | 7ac6ed893fbfe9b4d4ce0e0ef18c3fecfbd48ff4 (diff) | |
download | rails-cb978baafa68c9bb4f1311df417947249586f47d.tar.gz rails-cb978baafa68c9bb4f1311df417947249586f47d.tar.bz2 rails-cb978baafa68c9bb4f1311df417947249586f47d.zip |
Hash#to_xml supports Bignum and BigDecimal. Closes #6313.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5209 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activesupport/lib/active_support')
-rw-r--r-- | activesupport/lib/active_support/core_ext/hash/conversions.rb | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/activesupport/lib/active_support/core_ext/hash/conversions.rb b/activesupport/lib/active_support/core_ext/hash/conversions.rb index de67b0b00d..65047b2d3c 100644 --- a/activesupport/lib/active_support/core_ext/hash/conversions.rb +++ b/activesupport/lib/active_support/core_ext/hash/conversions.rb @@ -6,13 +6,15 @@ module ActiveSupport #:nodoc: module Hash #:nodoc: module Conversions XML_TYPE_NAMES = { - ::Fixnum => "integer", - ::Float => "float", - ::Date => "date", - ::DateTime => "datetime", - ::Time => "datetime", - ::TrueClass => "boolean", - ::FalseClass => "boolean" + "Fixnum" => "integer", + "Bignum" => "integer", + "BigDecimal" => "numeric", + "Float" => "float", + "Date" => "date", + "DateTime" => "datetime", + "Time" => "datetime", + "TrueClass" => "boolean", + "FalseClass" => "boolean" } unless defined? XML_TYPE_NAMES XML_FORMATTING = { @@ -56,7 +58,7 @@ module ActiveSupport #:nodoc: if value.respond_to?(:to_xml) value.to_xml(options.merge({ :root => key, :skip_instruct => true })) else - type_name = XML_TYPE_NAMES[value.class] + type_name = XML_TYPE_NAMES[value.class.name] key = dasherize ? key.to_s.dasherize : key.to_s |