Fixed the to_xml case (closes #4201) [twoggle@gmail.com]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3925 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
David Heinemeier Hansson
2006-03-18 15:28:46 +00:00
parent 9d7de52c2d
commit 8b8a30dd0a

View File

@@ -21,13 +21,11 @@ module ActiveSupport #:nodoc:
options[:builder].instruct! unless options.delete(:skip_instruct)
options[:builder].__send__(options[:root].to_s.dasherize) do
for key in keys
value = self[key]
case value.class.to_s # TODO: Figure out why I have to to_s the class to do comparisons in order for tests to run
when "Hash"
each do |key, value|
case value
when ::Hash
value.to_xml(options.merge({ :root => key, :skip_instruct => true }))
when "Array"
when ::Array
value.to_xml(options.merge({ :root => key, :children => key.to_s.singularize, :skip_instruct => true}))
else
type_name = XML_TYPE_NAMES[value.class.to_s]