Hash.create_from_xml has been renamed to Hash.from_xml, alias will exist until Rails 2.0 [DHH]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5149 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
David Heinemeier Hansson 2006-09-20 09:34:29 +00:00
parent 5ddc82c3a1
commit 54c393f5fa
6 changed files with 17 additions and 10 deletions

View File

@ -49,7 +49,7 @@ class CGIMethods #:nodoc:
when Proc
strategy.call(raw_post_data)
when :xml_simple
raw_post_data.blank? ? {} : Hash.create_from_xml(raw_post_data)
raw_post_data.blank? ? {} : Hash.from_xml(raw_post_data)
when :yaml
YAML.load(raw_post_data)
when :xml_node

View File

@ -43,7 +43,7 @@ module ActiveResource
end
def get(path)
Hash.create_from_xml(request(:get, path).body)
Hash.from_xml(request(:get, path).body)
end
def delete(path)

View File

@ -87,7 +87,7 @@ module ActiveResource
def from_xml(xml)
clear
humanized_attributes = @base.attributes.keys.inject({}) { |h, attr_name| h.update(attr_name.humanize => attr_name) }
messages = Hash.create_from_xml(xml)['errors']['error'] rescue []
messages = Hash.from_xml(xml)['errors']['error'] rescue []
messages.each do |message|
attr_message = humanized_attributes.keys.detect do |attr_name|
if message[0, attr_name.size + 1] == "#{attr_name} "

View File

@ -1,5 +1,7 @@
*SVN*
* Hash.create_from_xml has been renamed to Hash.from_xml, alias will exist until Rails 2.0 [DHH]
* alias_method_chain works with accessor= methods also. #6153 [Caio Chassot]
* Fix loadable_constants_for_path to handle load paths that do not end with a slash. [Nicholas Seckar]
@ -12,7 +14,7 @@
* Don't pad remaining places with in_groups_of if specified padding value is false. [Marcel Molina Jr.]
* Fix cases where empty xml nodes weren't being translated to nil in Hash.create_from_xml [Rick Olson]
* Fix cases where empty xml nodes weren't being translated to nil in Hash.create_from_xml [Rick Olso n]
<written-on type="date"></written-on> # => { :type => 'date' } # WRONG
<written-on type="date"></written-on> # => nil # RIGHT

View File

@ -77,14 +77,19 @@ module ActiveSupport #:nodoc:
end
module ClassMethods
def create_from_xml(xml)
def from_xml(xml)
# TODO: Refactor this into something much cleaner that doesn't rely on XmlSimple
undasherize_keys(typecast_xml_value(XmlSimple.xml_in(xml,
'forcearray' => false,
'forcecontent' => true,
'keeproot' => true,
'contentkey' => '__content__')
))
))
end
def create_from_xml(xml)
ActiveSupport::Deprecation.warn("Hash.create_from_xml has been renamed to Hash.from_xml", caller)
from_xml(xml)
end
private

View File

@ -336,7 +336,7 @@ class HashToXmlTest < Test::Unit::TestCase
:parent_id => nil
}.stringify_keys
assert_equal expected_topic_hash, Hash.create_from_xml(topic_xml)["topic"]
assert_equal expected_topic_hash, Hash.from_xml(topic_xml)["topic"]
end
def test_single_record_from_xml_with_nil_values
@ -360,7 +360,7 @@ class HashToXmlTest < Test::Unit::TestCase
:parent_id => nil
}.stringify_keys
assert_equal expected_topic_hash, Hash.create_from_xml(topic_xml)["topic"]
assert_equal expected_topic_hash, Hash.from_xml(topic_xml)["topic"]
end
def test_multiple_records_from_xml
@ -406,7 +406,7 @@ class HashToXmlTest < Test::Unit::TestCase
:parent_id => nil
}.stringify_keys
assert_equal expected_topic_hash, Hash.create_from_xml(topics_xml)["topics"]["topic"].first
assert_equal expected_topic_hash, Hash.from_xml(topics_xml)["topics"]["topic"].first
end
def test_single_record_from_xml_with_attributes_other_than_type
@ -429,7 +429,7 @@ class HashToXmlTest < Test::Unit::TestCase
:isfamily => "0",
}.stringify_keys
assert_equal expected_topic_hash, Hash.create_from_xml(topic_xml)["rsp"]["photos"]["photo"]
assert_equal expected_topic_hash, Hash.from_xml(topic_xml)["rsp"]["photos"]["photo"]
end
def test_should_use_default_value_for_unknown_key