class ActiveModelSerializers::SerializableResource

def serializer

Replace :serializer key with :each_serializer if present
Remove :serializer key from serializer_opts
Get serializer either explicitly :serializer or implicitly from resource
def serializer
  @serializer ||=
    begin
      @serializer = serializer_opts.delete(:serializer)
      @serializer ||= ActiveModel::Serializer.serializer_for(resource)
      if serializer_opts.key?(:each_serializer)
        serializer_opts[:serializer] = serializer_opts.delete(:each_serializer)
      end
      @serializer
    end
end