Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

This project is archived and is in readonly mode.

Changeset [7bf9bf3dd6b4c4d78214917f0877536d222098bb] by John Small

Revision 7bf9bf3dd6b4c4d78214917f0877536d222098bb, committed by John Small · May 10th, 2009 @ 02:09 AM

Add configuration options for :dasherize and :camelize calls to Hash#to_xml

People using ActiveResource & REST to integrate with other systems need to be able to control the default dasherize behavior of Hash.to_xml. Currently there is no test for a default value, but existing code asssumes it's true. This patch adds tests for the default value and adds mattr_accessor to ActiveSupport for :dasherize_xml and :camelize_xml. These module attributes set the defaults for :dasherize and :camelize in rename_keys inside Hash#to_xml. The tests have been changed to separate out the testing of the parameter options for :camelize and :dasherize so that we only test one thing at a time. We also test default values for :camelize_xml and :dasherize_xml.

The module attribute dasherize_xml is set to true in this patch to maintain existing code. But at some point in the future it should be set to false because Hash#to_xml probably should not set underscores to dashes by default.

Changed documentation on ActiveResource#to_xml to correctly describe the behaviour of Hash#to_xml. The previous documentation said that the default for :dasherize was false, in fact it was and still is true, but we now have a way to change the default. I've also added documentation for the :camelize option.

Signed-off-by: Michael Koziarski michael@koziarski.com http://github.com/rails/rails/co...

3 changed files

  • M activeresource/lib/active_resource/base.rb
  • M activesupport/lib/active_support/core_ext/hash/conversions.rb
  • M activesupport/test/core_ext/hash_ext_test.rb