From 08fd8705f336269d662daed14e124cc760a95888 Mon Sep 17 00:00:00 2001 From: Yosi Attias Date: Fri, 24 Mar 2017 15:16:01 +0300 Subject: [PATCH] extract the instrumentation key to be const and frozen string --- lib/active_model/default_serializer.rb | 2 +- lib/active_model/serializable.rb | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/active_model/default_serializer.rb b/lib/active_model/default_serializer.rb index 8c755cc2..6c809787 100644 --- a/lib/active_model/default_serializer.rb +++ b/lib/active_model/default_serializer.rb @@ -15,7 +15,7 @@ module ActiveModel end def as_json(options={}) - instrument('!serialize') do + instrument do return [] if @object.nil? && @wrap_in_array hash = @object.as_json @wrap_in_array ? [hash] : hash diff --git a/lib/active_model/serializable.rb b/lib/active_model/serializable.rb index 3b412d17..300869f5 100644 --- a/lib/active_model/serializable.rb +++ b/lib/active_model/serializable.rb @@ -2,12 +2,14 @@ require 'active_model/serializable/utils' module ActiveModel module Serializable + INSTRUMENTATION_KEY = "!serialize.active_model_serializers".freeze + def self.included(base) base.extend Utils end def as_json(options={}) - instrument('!serialize') do + instrument do if root = options.fetch(:root, json_key) hash = { root => serializable_object(options) } hash.merge!(serializable_data) @@ -19,9 +21,7 @@ module ActiveModel end def serializable_object_with_notification(options={}) - instrument('!serialize') do - serializable_object(options) - end + instrument { serializable_object(options) } end def serializable_data @@ -51,9 +51,9 @@ module ActiveModel modules[0..-2].join('::') if modules.size > 1 end - def instrument(action, &block) + def instrument(&block) payload = { serializer: self.class.name } - ActiveSupport::Notifications.instrument("#{action}.active_model_serializers", payload, &block) + ActiveSupport::Notifications.instrument(INSTRUMENTATION_KEY, payload, &block) end end end