aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/core_ext/hash/conversions.rb
diff options
context:
space:
mode:
authorAndre Arko <andre@arko.net>2011-04-14 16:25:08 +0800
committerDavid Heinemeier Hansson <david@loudthinking.com>2011-04-14 16:33:41 +0800
commit7660e7cb4df69ad127661ad87f495a3b212170b9 (patch)
treef31be8968db5a9385eeccda24476d66338acfdd7 /activesupport/lib/active_support/core_ext/hash/conversions.rb
parentada550d9088be9845ff8e4dbe0f27e574c5fc62b (diff)
downloadrails-7660e7cb4df69ad127661ad87f495a3b212170b9.tar.gz
rails-7660e7cb4df69ad127661ad87f495a3b212170b9.tar.bz2
rails-7660e7cb4df69ad127661ad87f495a3b212170b9.zip
attributes no longer disappear if a tag contains whitespace
old: Hash.from_xml("<tag foo='bar'>\n</tag>") => {"tag"=>"\n"} new: Hash.from_xml("<tag foo='bar'>\n</tag>") => {"tag"=>{"foo"=>"bar", "__content__"=>"\n"}
Diffstat (limited to 'activesupport/lib/active_support/core_ext/hash/conversions.rb')
-rw-r--r--activesupport/lib/active_support/core_ext/hash/conversions.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/core_ext/hash/conversions.rb b/activesupport/lib/active_support/core_ext/hash/conversions.rb
index 3005fef44c..06bd8341ca 100644
--- a/activesupport/lib/active_support/core_ext/hash/conversions.rb
+++ b/activesupport/lib/active_support/core_ext/hash/conversions.rb
@@ -108,7 +108,7 @@ class Hash
raise "can't typecast #{entries.inspect}"
end
end
- elsif value.has_key?("__content__")
+ elsif value.has_key?("__content__") && value["__content__"].gsub(/\s/, '').present?
content = value["__content__"]
if parser = ActiveSupport::XmlMini::PARSING[value["type"]]
parser.arity == 1 ? parser.call(content) : parser.call(content, value)