From 418190d55c19b19bd2f1153a4367f04263557aee Mon Sep 17 00:00:00 2001 From: Emilio Tagua Date: Wed, 22 Sep 2010 12:18:22 -0300 Subject: [PATCH] Refactor inject use in hash conversions. Signed-off-by: Santiago Pastorino --- .../lib/active_support/core_ext/hash/conversions.rb | 10 ++-------- 1 file changed, 2 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 7e929848a9..4e8ec5a3a8 100644 --- a/activesupport/lib/active_support/core_ext/hash/conversions.rb +++ b/activesupport/lib/active_support/core_ext/hash/conversions.rb @@ -114,10 +114,7 @@ def typecast_xml_value(value) elsif value['type'] && value.size == 1 && !value['type'].is_a?(::Hash) nil else - xml_value = value.inject({}) do |h,(k,v)| - h[k] = typecast_xml_value(v) - h - end + xml_value = Hash[value.map { |k,v| [k, typecast_xml_value(v)] }] # Turn { :files => { :file => # } into { :files => # } so it is compatible with # how multipart uploaded files from HTML appear @@ -136,10 +133,7 @@ def typecast_xml_value(value) def unrename_keys(params) case params.class.to_s when "Hash" - params.inject({}) do |h,(k,v)| - h[k.to_s.tr("-", "_")] = unrename_keys(v) - h - end + Hash[params.map { |k,v| [k.to_s.tr("-", "_"), unrename_keys(v)] } ] when "Array" params.map { |v| unrename_keys(v) } else -- GitLab