У меня есть простой Serializer, где обработка атрибута зависит от обработки другого атрибута.
Так что мой код выглядит примерно так:
class CounterSerializer < ActiveModel::Serializer
attribute :CounterId do
object.id
end
attribute :CounterValue do
@value = SomeClass.get_counter_value(object.id)
end
attribute :NextCounterValue do
@value + 1
end
end
Итак, учитывая, что я использую @value
в двух атрибутах, а значение второго зависит от вывода первого, могу ли я предположить, что CounterValue
будет вычислено до NextCounterValue
? (т.е. нет проблем с асинхронными вычислениями)
Также имейте в виду, что NextCounterValue
не должен делать очередной вызов SomeClass.get_counter_value
(проблемы с производительностью)