diff options
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r-- | activerecord/lib/active_record/xml_serialization.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/xml_serialization.rb b/activerecord/lib/active_record/xml_serialization.rb index df50ecc017..88ff46a004 100644 --- a/activerecord/lib/active_record/xml_serialization.rb +++ b/activerecord/lib/active_record/xml_serialization.rb @@ -178,10 +178,12 @@ module ActiveRecord #:nodoc: end def serializable_method_attributes - Array(options[:methods]).collect { |name| MethodAttribute.new(name.to_s, @record) } + Array(options[:methods]).inject([]) do |method_attributes, name| + method_attributes << MethodAttribute.new(name.to_s, @record) if @record.respond_to?(name.to_s) + method_attributes + end end - def add_attributes (serializable_attributes + serializable_method_attributes).each do |attribute| add_tag(attribute) |