rails comes with
to_xml on models and you can give them an option map to control how the whole object tree gets serialized.
the first problem I had was that I needed serveral options map at different controllers/actions so I needed a place to store them. the model itself felt to be the wrong place.
the next problem was that I could include the result of a given method with
:methods => ['age'] but only on the root level of the object tree. but if I wanted to
age method to be part of the serialization somewhere deep inside the object tree, it is not possible.
please have a look at spec/filter_spec.rb how to use it :)