From 077817ecec1043ef39ef204fdb3c9329ceca9157 Mon Sep 17 00:00:00 2001 From: Les Fletcher Date: Tue, 15 May 2018 08:14:46 -0700 Subject: [PATCH] fix skylight normalizers issue --- .../instrumentation/skylight/normalizers/base.rb | 7 +++++++ .../skylight/normalizers/serializable_hash.rb | 4 ++-- .../skylight/normalizers/serialized_json.rb | 4 ++-- .../skylight/normalizers_require_spec.rb | 14 ++++++++++++++ 4 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 lib/fast_jsonapi/instrumentation/skylight/normalizers/base.rb create mode 100644 spec/lib/instrumentation/skylight/normalizers_require_spec.rb diff --git a/lib/fast_jsonapi/instrumentation/skylight/normalizers/base.rb b/lib/fast_jsonapi/instrumentation/skylight/normalizers/base.rb new file mode 100644 index 0000000..83c971d --- /dev/null +++ b/lib/fast_jsonapi/instrumentation/skylight/normalizers/base.rb @@ -0,0 +1,7 @@ +require 'skylight' + +SKYLIGHT_NORMALIZER_BASE_CLASS = begin + ::Skylight::Core::Normalizers::Normalizer +rescue NameError + ::Skylight::Normalizers::Normalizer +end diff --git a/lib/fast_jsonapi/instrumentation/skylight/normalizers/serializable_hash.rb b/lib/fast_jsonapi/instrumentation/skylight/normalizers/serializable_hash.rb index bc27ee4..16a3c62 100644 --- a/lib/fast_jsonapi/instrumentation/skylight/normalizers/serializable_hash.rb +++ b/lib/fast_jsonapi/instrumentation/skylight/normalizers/serializable_hash.rb @@ -1,11 +1,11 @@ -require 'skylight' +require 'fast_jsonapi/instrumentation/skylight/normalizers/base' require 'fast_jsonapi/instrumentation/serializable_hash' module FastJsonapi module Instrumentation module Skylight module Normalizers - class SerializableHash < Skylight::Normalizers::Normalizer + class SerializableHash < SKYLIGHT_NORMALIZER_BASE_CLASS register FastJsonapi::ObjectSerializer::SERIALIZABLE_HASH_NOTIFICATION diff --git a/lib/fast_jsonapi/instrumentation/skylight/normalizers/serialized_json.rb b/lib/fast_jsonapi/instrumentation/skylight/normalizers/serialized_json.rb index a04f6c0..3945c27 100644 --- a/lib/fast_jsonapi/instrumentation/skylight/normalizers/serialized_json.rb +++ b/lib/fast_jsonapi/instrumentation/skylight/normalizers/serialized_json.rb @@ -1,11 +1,11 @@ -require 'skylight' +require 'fast_jsonapi/instrumentation/skylight/normalizers/base' require 'fast_jsonapi/instrumentation/serializable_hash' module FastJsonapi module Instrumentation module Skylight module Normalizers - class SerializedJson < Skylight::Normalizers::Normalizer + class SerializedJson < SKYLIGHT_NORMALIZER_BASE_CLASS register FastJsonapi::ObjectSerializer::SERIALIZED_JSON_NOTIFICATION diff --git a/spec/lib/instrumentation/skylight/normalizers_require_spec.rb b/spec/lib/instrumentation/skylight/normalizers_require_spec.rb new file mode 100644 index 0000000..8c4fd3b --- /dev/null +++ b/spec/lib/instrumentation/skylight/normalizers_require_spec.rb @@ -0,0 +1,14 @@ +require 'spec_helper' + +describe FastJsonapi::ObjectSerializer do + + context 'instrument' do + context 'skylight' do + # skip for normal runs because this could alter some + # other test by insterting the instrumentation + xit 'make sure requiring skylight normalizers works' do + require 'fast_jsonapi/instrumentation/skylight' + end + end + end +end