Кто-нибудь знает о чистом способе избежать ActiveJob::SerializationError
, который возникает при попытке сериализации объекта Date
или Time
?
Два решения, которые у меня были до сих пор, состоят в следующем:
- Вызов маршала /JSON/YAML
dump
при загрузке аргументов, а затемload
обратно в задание (что отстойно, потому что мне нужно, чтобы обезьяна исправляла задание почтовой программы) - Патч обезьяны
Date
иTime
следующим образом:
/lib/core_ext/time.rb
class Time
include GlobalID::Identification
def id
self.to_i
end
def self.find(id)
self.at(id.to_i)
end
end
/lib/core_ext/date.rb
class Date
include GlobalID::Identification
def id
self.to_time.id
end
def self.find(id)
Time.find(id).to_date
end
end
Который также отстой. У кого-то есть лучшее решение?