diff --git a/lib/active_model/serializer/attributes.rb b/lib/active_model/serializer/attributes.rb index f46b0f48..81f6e49a 100644 --- a/lib/active_model/serializer/attributes.rb +++ b/lib/active_model/serializer/attributes.rb @@ -1,6 +1,7 @@ module ActiveModel class Serializer module Attributes + # @api private class Attribute delegate :call, to: :reader @@ -19,12 +20,14 @@ module ActiveModel end end end + # @api private class AttributeReader < Attribute def initialize(name) super(name) @reader = ->(instance) { instance.read_attribute_for_serialization(name) } end end + # @api private class AttributeBlock < Attribute def initialize(name, block) super(name) diff --git a/lib/active_model/serializer/reflection.rb b/lib/active_model/serializer/reflection.rb index 472b2991..c027d96e 100644 --- a/lib/active_model/serializer/reflection.rb +++ b/lib/active_model/serializer/reflection.rb @@ -35,10 +35,12 @@ module ActiveModel @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) }