Module: Typelizer::SerializerPlugins::Auto
- Defined in:
- lib/typelizer/serializer_plugins/auto.rb
Class Method Summary collapse
Class Method Details
.new(serializer:, config:, context:) ⇒ Object
5 6 7 |
# File 'lib/typelizer/serializer_plugins/auto.rb', line 5 def new(serializer:, config:, context:) plugin(serializer).new(serializer: serializer, config: config, context: context) end |
.plugin(serializer) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/typelizer/serializer_plugins/auto.rb', line 9 def plugin(serializer) if defined?(::Oj::Serializer) && serializer.ancestors.include?(::Oj::Serializer) OjSerializers elsif defined?(::Alba) && serializer.ancestors.include?(::Alba::Resource) Alba elsif defined?(ActiveModel::Serializer) && serializer.ancestors.include?(ActiveModel::Serializer) AMS elsif defined?(::Panko::Serializer) && serializer.ancestors.include?(::Panko::Serializer) Panko else raise "Can't guess serializer plugin for #{serializer}. " \ "Please specify it with `config.serializer_plugin`." end end |