У меня есть приложение Rails, которое собирает информацию из внешнего источника данных.Эта информация собирается в атрибут raw_data
, сохраняется, и ActiveJob, отвечающий за выполнение обработки, назначается.
capture = Capture.create(raw_data: data)
ProcessCaptureJob.perform_later(capture)
Обработка данных выполняется позже в автономном процессе, проблема в том, ктоотвечает за выполнение преобразования?
Модель?
def convert
update(attr1: raw_data['attr1a'] + raw_data['attr1b']
end
Или Работа?
def perform(capture)
capture.attr1 = capture.raw_data['attr1a'] + capture.raw_data['attr1b']
capture.save
end
Идея ActiveModel заключается в том, что Модель отвечает за всеиз его случаев использования, связанных с данными, но является ли это проблемой, связанной с данными, или лучше оставить эту ответственность за внешнюю работу?