From 762f298c03a6c1637bfcd9d2ddc24719a346305d Mon Sep 17 00:00:00 2001 From: Lucas Hosseini Date: Sun, 20 Dec 2015 16:19:10 +0100 Subject: [PATCH] Simplify reflections handling. --- lib/active_model/serializer/reflection.rb | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/lib/active_model/serializer/reflection.rb b/lib/active_model/serializer/reflection.rb index c027d96e..d5f4da90 100644 --- a/lib/active_model/serializer/reflection.rb +++ b/lib/active_model/serializer/reflection.rb @@ -26,26 +26,12 @@ module ActiveModel # So you can inspect reflections in your Adapters. # Reflection = Struct.new(:name, :options, :block) do - delegate :call, to: :reader - - attr_reader :reader - - def initialize(*) - super - @reader = self.class.build_reader(name, block) - end - # @api private def value(instance) - call(instance) - end - - # @api private - def self.build_reader(name, block) if block - ->(instance) { instance.read_attribute_for_serialization(name).instance_eval(&block) } + instance.read_attribute_for_serialization(name).instance_eval(&block) else - ->(instance) { instance.read_attribute_for_serialization(name) } + instance.read_attribute_for_serialization(name) end end