Inconsistent Hash#to_xml Method

I have a unit test that demonstrates some inconsistent behavior with a
Hash being converted to XML with the :root option. Sometimes it works
fine:

Hash.new.to_xml(:root => 'test')
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<test>\n</test>\n"

But sometimes I get an argument error:

Hash.new.to_xml(:root => 'test')
ArgumentError Exception: wrong number of arguments (1 for 0)

I thought it may be a bug related to the version of Rails, but I have
tried several versions and have the same problem. Anyone have any
ideas of where I should be looking?

Thanks,
Tom

Sounds to me you are including some other class that has the to_xml method somewhere. It can be either something an outdated plugin uses or some code in your lib/ folder or part of a gem. That’s why it only happens “sometimes”, it only happens in classes that have the non-Rails to_xml method loaded.

Best regards

Peter De Berdt

Yep! I found an old plugin that was actually overwriting the
Hash#to_xml method! Thanks!

--Tom