From cb978baafa68c9bb4f1311df417947249586f47d Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Fri, 29 Sep 2006 22:23:16 +0000 Subject: 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 --- .../lib/active_support/core_ext/hash/conversions.rb | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'activesupport/lib/active_support/core_ext/hash') 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 -- cgit v1.2.3