From c39151a84768397d3bb025c6e8f877eac59ebbf9 Mon Sep 17 00:00:00 2001 From: John Maxwell Date: Wed, 22 Jul 2009 20:47:15 -0500 Subject: Patch to ActiveModel's (and ActiveRecord, by association) XML serialization: If two parameters are present in Procs supplied to to_xml's :procs option, the model being serialized will be passed as the second argument [#2373 state:resolved] Signed-off-by: Joshua Peek --- activemodel/lib/active_model/serializers/xml.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'activemodel/lib/active_model/serializers/xml.rb') diff --git a/activemodel/lib/active_model/serializers/xml.rb b/activemodel/lib/active_model/serializers/xml.rb index 76a0e54a56..8137300479 100644 --- a/activemodel/lib/active_model/serializers/xml.rb +++ b/activemodel/lib/active_model/serializers/xml.rb @@ -152,7 +152,11 @@ module ActiveModel def add_procs if procs = options.delete(:procs) [ *procs ].each do |proc| - proc.call(options) + if proc.arity > 1 + proc.call(options, @serializable) + else + proc.call(options) + end end end end -- cgit v1.2.3 From 272c504f919d187603915059572e37d3a78329cc Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Wed, 22 Jul 2009 21:06:34 -0500 Subject: Dasherize XML root by default to avoid invalid tags "..." [#2875 state:resolved] --- activemodel/lib/active_model/serializers/xml.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'activemodel/lib/active_model/serializers/xml.rb') diff --git a/activemodel/lib/active_model/serializers/xml.rb b/activemodel/lib/active_model/serializers/xml.rb index 8137300479..4508a39347 100644 --- a/activemodel/lib/active_model/serializers/xml.rb +++ b/activemodel/lib/active_model/serializers/xml.rb @@ -90,7 +90,7 @@ module ActiveModel end def root - root = (options[:root] || @serializable.class.to_s.underscore).to_s + root = (options[:root] || @serializable.class.model_name.singular).to_s reformat_name(root) end -- cgit v1.2.3