From bf8270b8b4c5eda6c4da1ad801d52a293736cced Mon Sep 17 00:00:00 2001 From: Benjamin Fleischer Date: Thu, 10 Dec 2015 15:08:22 -0600 Subject: [PATCH] Document Serializer settings and private api [ci skip] --- lib/active_model/serializer/attributes.rb | 3 +++ lib/active_model/serializer/reflection.rb | 2 ++ 2 files changed, 5 insertions(+) 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) }