diff options
Diffstat (limited to 'activejob/lib/active_job/serializers/struct_serializer.rb')
-rw-r--r-- | activejob/lib/active_job/serializers/struct_serializer.rb | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/activejob/lib/active_job/serializers/struct_serializer.rb b/activejob/lib/active_job/serializers/struct_serializer.rb deleted file mode 100644 index f6791611ed..0000000000 --- a/activejob/lib/active_job/serializers/struct_serializer.rb +++ /dev/null @@ -1,38 +0,0 @@ -# frozen_string_literal: true - -module ActiveJob - module Serializers - # Provides methods to serialize and deserialize struct instances - # (`Struct.new('Rectangle', :width, :height).new(12, 20)`) - class StructSerializer < ObjectSerializer - class << self - def serialize(object) - super.merge values_key => ::ActiveJob::Serializers.serialize(object.values) - end - - def deserialize(hash) - values = ::ActiveJob::Serializers.deserialize(hash[values_key]) - super.new(*values) - end - - def key - "_aj_struct" - end - - private - - def klass - ::Struct - end - - def keys - super.push values_key - end - - def values_key - "values" - end - end - end - end -end |