From 1eb09476ef65a8b54c72b617dcbf341a4ecd7b92 Mon Sep 17 00:00:00 2001 From: Santiago Pastorino Date: Sat, 26 Oct 2013 01:13:17 -0200 Subject: [PATCH] Revert "Merge pull request #422 from marclove/reduce-serializer-code-complexity" This reverts commit 449849516bf640986445d5318cd8c1f62ed88dab, reversing changes made to e103569c223963feef0f6618011e68dfac112db7. Conflicts: lib/active_model/serializer.rb --- lib/active_model/serializer.rb | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/lib/active_model/serializer.rb b/lib/active_model/serializer.rb index feb7d228..57ad5180 100644 --- a/lib/active_model/serializer.rb +++ b/lib/active_model/serializer.rb @@ -69,7 +69,12 @@ end def attributes(*attrs) @_attributes.concat attrs - attrs.each{|attr| define_attribute_accessor(attr)} + + attrs.each do |attr| + define_method attr do + object.read_attribute_for_serialization attr + end unless method_defined?(attr) + end end def has_one(*attrs) @@ -86,27 +91,13 @@ end options = attrs.extract_options! attrs.each do |attr| - define_association_accessor(attr) + define_method attr do + object.send attr + end unless method_defined?(attr) + @_associations[attr] = klass.new(attr, options) end end - - def define_accessor_unless_defined(attr, &block) - return if method_defined?(attr) - define_method(attr, &block) - end - - def define_attribute_accessor(attr) - define_accessor_unless_defined(attr) do - object.read_attribute_for_serialization(attr) - end - end - - def define_association_accessor(attr) - define_accessor_unless_defined(attr) do - object.__send__(attr) - end - end end def initialize(object, options={})