23 lines
971 B
Ruby
23 lines
971 B
Ruby
module Draper
|
|
module Compatibility
|
|
# [Active Job](http://edgeguides.rubyonrails.org/active_job_basics.html) allows you to pass
|
|
# ActiveRecord objects to background tasks directly and performs the necessary serialization
|
|
# and deserialization. In order to do this, arguments to a background job must implement
|
|
# [Global ID](https://github.com/rails/globalid).
|
|
#
|
|
# This compatibility patch implements Global ID for decorated objects by delegating to the object
|
|
# that is decorated. This means you can pass decorated objects to background jobs, but
|
|
# the object won't be decorated when it is deserialized. This patch is meant as an intermediate
|
|
# fix until we can find a way to deserialize the decorated object correctly.
|
|
module GlobalID
|
|
extend ActiveSupport::Concern
|
|
|
|
included do
|
|
include ::GlobalID::Identification
|
|
|
|
delegate :to_global_id, :to_signed_global_id, to: :object
|
|
end
|
|
end
|
|
end
|
|
end
|