mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-24 23:06:50 +00:00
Refactor serializer class detection
This commit is contained in:
parent
2460832236
commit
5e5c0213a7
@ -134,12 +134,9 @@ module ActiveModel
|
|||||||
class_eval "def #{attr}() object.#{attr} end", __FILE__, __LINE__
|
class_eval "def #{attr}() object.#{attr} end", __FILE__, __LINE__
|
||||||
end
|
end
|
||||||
|
|
||||||
# if :key is specified without :serializer, then use conventions
|
options[:serializer] ||= begin
|
||||||
# to determine the serializer
|
serializer_class = (options[:key] || attr).to_s.classify
|
||||||
if options[:key] && !options[:serializer]
|
const_get("#{serializer_class}Serializer")
|
||||||
options[:serializer] = const_get("#{options[:key].to_s.camelize.singularize}Serializer")
|
|
||||||
else
|
|
||||||
options[:serializer] ||= const_get("#{attr.to_s.singularize.camelize}Serializer")
|
|
||||||
end
|
end
|
||||||
|
|
||||||
klass.new(attr, options)
|
klass.new(attr, options)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user