Я создал API для своего мобильного приложения и использую versionist gem для управления версиями.Все работает хорошо, так что, но у меня есть вопрос о активных заданиях .
Во-первых, я версионировал:
- контроллеры
- контроллеры / переопределения
- сериализаторы
Пока все хорошо.Но у меня есть активных заданий , которые я использую, чтобы уменьшить время отклика контроллера и транслировать вновь добавленные объекты подписчикам с помощью функции кабель действия .
Пример задания:
class UserBroadcastJob < ApplicationJob
queue_as :default
def perform(user)
ActionCable.server.broadcast "users", ActiveModelSerializers::SerializableResource.new(user, each_serializer: V1::UserSerializer)
end
end
Проблема:
Это действительно выглядит плохо.Я не хочу жестко закодировать мою версию сериализатора в задания, но мне нужны версионные активные сериализаторы моделей.
А как насчет того, чтобы выпустить другую версию, такую как V2?Нужно ли мне каждый раз менять номер версии?
Что мне делать?