aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/lib/active_job/serializers/global_id_serializer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activejob/lib/active_job/serializers/global_id_serializer.rb')
-rw-r--r--activejob/lib/active_job/serializers/global_id_serializer.rb10
1 files changed, 5 insertions, 5 deletions
diff --git a/activejob/lib/active_job/serializers/global_id_serializer.rb b/activejob/lib/active_job/serializers/global_id_serializer.rb
index ec20cf04f7..84ed33ef99 100644
--- a/activejob/lib/active_job/serializers/global_id_serializer.rb
+++ b/activejob/lib/active_job/serializers/global_id_serializer.rb
@@ -4,21 +4,21 @@ module ActiveJob
module Serializers
# Provides methods to serialize and deserialize objects which mixes `GlobalID::Identification`,
# including `ActiveRecord::Base` models
- class GlobalIDSerializer < ObjectSerializer
+ class GlobalIDSerializer < BaseSerializer
class << self
def serialize(object)
- { key => object.to_global_id.to_s }
+ { GLOBALID_KEY => object.to_global_id.to_s }
rescue URI::GID::MissingModelIdError
raise SerializationError, "Unable to serialize #{object.class} " \
"without an id. (Maybe you forgot to call save?)"
end
def deserialize(hash)
- GlobalID::Locator.locate(hash[key])
+ GlobalID::Locator.locate(hash[GLOBALID_KEY])
end
- def key
- "_aj_globalid"
+ def deserialize?(argument)
+ argument.is_a?(Hash) && argument[GLOBALID_KEY]
end
private