File tree 1 file changed +11
-13
lines changed
1 file changed +11
-13
lines changed Original file line number Diff line number Diff line change @@ -68,14 +68,13 @@ def serializer_for(resource, options = {})
68
68
ArraySerializer
69
69
end
70
70
else
71
- search_list = build_serializer_class_list ( resource , options )
72
- result = search_list . map do |klass_name |
73
- Serializer . serializers_cache . fetch_or_store ( klass_name ) do
74
- _const_get ( klass_name )
75
- end
76
- end
77
-
78
- result . find { |serializer | !serializer . nil? }
71
+ each_possible_serializer ( resource , options ) do |klass_name |
72
+ serializer = Serializer . serializers_cache . fetch_or_store ( klass_name ) do
73
+ _const_get ( klass_name )
74
+ end
75
+ return serializer unless serializer . nil?
76
+ end
77
+ nil
79
78
end
80
79
end
81
80
@@ -124,11 +123,10 @@ def strip_attribute(attr)
124
123
attr
125
124
end
126
125
127
- def build_serializer_class_list ( resource , options )
128
- list = [ ]
129
- list << build_serializer_class ( resource , options )
130
- list << build_serializer_class ( resource , { } )
131
- list << build_serializer_class ( resource . class . name . demodulize , { } )
126
+ def each_possible_serializer ( resource , options )
127
+ yield build_serializer_class ( resource , options )
128
+ yield build_serializer_class ( resource , { } )
129
+ yield build_serializer_class ( resource . class . name . demodulize , { } )
132
130
end
133
131
134
132
def build_serializer_class ( resource , options )
You can’t perform that action at this time.
0 commit comments