Skip to content

Commit 81c538d

Browse files
daniel-illiBrad Grzesiak
authored and
Brad Grzesiak
committed
Fix error on defining anonymous serializer class, fixes Netflix#353
1 parent 1a9e19f commit 81c538d

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

lib/fast_jsonapi/object_serializer.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ def reflected_record_type
130130
return @reflected_record_type if defined?(@reflected_record_type)
131131

132132
@reflected_record_type ||= begin
133-
if self.name.end_with?('Serializer')
133+
if self.name && self.name.end_with?('Serializer')
134134
self.name.split('::').last.chomp('Serializer').underscore.to_sym
135135
end
136136
end

spec/lib/object_serializer_spec.rb

+13-6
Original file line numberDiff line numberDiff line change
@@ -314,20 +314,27 @@ class BlahBlahSerializer
314314
expect(BlahBlahSerializer.record_type).to be :blah_blah
315315
end
316316

317+
it 'should set default_type for a namespaced serializer' do
318+
module V1
319+
class BlahSerializer
320+
include FastJsonapi::ObjectSerializer
321+
end
322+
end
323+
expect(V1::BlahSerializer.record_type).to be :blah
324+
end
325+
317326
it 'shouldnt set default_type for a serializer that doesnt follow convention' do
318327
class BlahBlahSerializerBuilder
319328
include FastJsonapi::ObjectSerializer
320329
end
321330
expect(BlahBlahSerializerBuilder.record_type).to be_nil
322331
end
323332

324-
it 'should set default_type for a namespaced serializer' do
325-
module V1
326-
class BlahSerializer
327-
include FastJsonapi::ObjectSerializer
328-
end
333+
it 'shouldnt set default_type for an anonymous serializer' do
334+
serializer_class = Class.new do
335+
include FastJsonapi::ObjectSerializer
329336
end
330-
expect(V1::BlahSerializer.record_type).to be :blah
337+
expect(serializer_class.record_type).to be_nil
331338
end
332339
end
333340

0 commit comments

Comments
 (0)