diff --git a/lib/fast_jsonapi/object_serializer.rb b/lib/fast_jsonapi/object_serializer.rb index e767135..d142a04 100644 --- a/lib/fast_jsonapi/object_serializer.rb +++ b/lib/fast_jsonapi/object_serializer.rb @@ -130,7 +130,7 @@ module FastJsonapi return @reflected_record_type if defined?(@reflected_record_type) @reflected_record_type ||= begin - if self.name.end_with?('Serializer') + if self.name && self.name.end_with?('Serializer') self.name.split('::').last.chomp('Serializer').underscore.to_sym end end diff --git a/spec/lib/object_serializer_spec.rb b/spec/lib/object_serializer_spec.rb index 74bb2f4..c86ce7c 100644 --- a/spec/lib/object_serializer_spec.rb +++ b/spec/lib/object_serializer_spec.rb @@ -314,13 +314,6 @@ describe FastJsonapi::ObjectSerializer do expect(BlahBlahSerializer.record_type).to be :blah_blah end - it 'shouldnt set default_type for a serializer that doesnt follow convention' do - class BlahBlahSerializerBuilder - include FastJsonapi::ObjectSerializer - end - expect(BlahBlahSerializerBuilder.record_type).to be_nil - end - it 'should set default_type for a namespaced serializer' do module V1 class BlahSerializer @@ -329,6 +322,20 @@ describe FastJsonapi::ObjectSerializer do end expect(V1::BlahSerializer.record_type).to be :blah end + + it 'shouldnt set default_type for a serializer that doesnt follow convention' do + class BlahBlahSerializerBuilder + include FastJsonapi::ObjectSerializer + end + expect(BlahBlahSerializerBuilder.record_type).to be_nil + end + + it 'shouldnt set default_type for an anonymous serializer' do + serializer_class = Class.new do + include FastJsonapi::ObjectSerializer + end + expect(serializer_class.record_type).to be_nil + end end context 'when serializing included, serialize any links' do