aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/lib/active_job/serializers/object_serializer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activejob/lib/active_job/serializers/object_serializer.rb')
-rw-r--r--activejob/lib/active_job/serializers/object_serializer.rb16
1 files changed, 3 insertions, 13 deletions
diff --git a/activejob/lib/active_job/serializers/object_serializer.rb b/activejob/lib/active_job/serializers/object_serializer.rb
index 075360b26e..d5ff8c91f1 100644
--- a/activejob/lib/active_job/serializers/object_serializer.rb
+++ b/activejob/lib/active_job/serializers/object_serializer.rb
@@ -4,22 +4,12 @@ module ActiveJob
module Serializers
class ObjectSerializer < BaseSerializer
class << self
- def serialize(object)
- { key => object.class.name }
+ def serialize(hash)
+ { OBJECT_SERIALIZER_KEY => self.name }.merge!(hash)
end
def deserialize?(argument)
- argument.respond_to?(:keys) && argument.keys == keys
- end
-
- def deserialize(hash)
- hash[key].constantize
- end
-
- private
-
- def keys
- [key]
+ argument.is_a?(Hash) && argument[OBJECT_SERIALIZER_KEY] == self.name
end
end
end