From ec5dc497b0e029e2da4ad12ad4797f8874b18f16 Mon Sep 17 00:00:00 2001 From: Benjamin Fleischer Date: Mon, 28 Mar 2016 20:10:55 -0500 Subject: [PATCH] Handle render.ams with nil serializer or adapter --- lib/active_model/serializer.rb | 1 + lib/active_model/serializer/null.rb | 17 +++++++++++++++++ lib/active_model_serializers/logging.rb | 5 ++++- 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 lib/active_model/serializer/null.rb diff --git a/lib/active_model/serializer.rb b/lib/active_model/serializer.rb index 79478abb..e8607845 100644 --- a/lib/active_model/serializer.rb +++ b/lib/active_model/serializer.rb @@ -20,6 +20,7 @@ module ActiveModel class Serializer extend ActiveSupport::Autoload autoload :Adapter + autoload :Null include Configuration include Associations include Attributes diff --git a/lib/active_model/serializer/null.rb b/lib/active_model/serializer/null.rb new file mode 100644 index 00000000..818bbbfa --- /dev/null +++ b/lib/active_model/serializer/null.rb @@ -0,0 +1,17 @@ +module ActiveModel + class Serializer + class Null < Serializer + def attributes(*) + {} + end + + def associations(*) + {} + end + + def serializable_hash(*) + {} + end + end + end +end diff --git a/lib/active_model_serializers/logging.rb b/lib/active_model_serializers/logging.rb index 2a859c41..943e937e 100644 --- a/lib/active_model_serializers/logging.rb +++ b/lib/active_model_serializers/logging.rb @@ -81,7 +81,10 @@ module ActiveModelSerializers end def notify_render_payload - { serializer: serializer, adapter: adapter } + { + serializer: serializer || ActiveModel::Serializer::Null, + adapter: adapter || ActiveModelSerializers::Adapter::Null + } end private