Sha256: 88ac8581deb737d20c9ef19d5fb4c04421fd66c25c20536b955176870a962319

Contents?: true

Size: 509 Bytes

Versions: 17

Compression:

Stored size: 509 Bytes

Contents

# frozen_string_literal: true

module ActiveJob
  module Serializers
    class DurationSerializer < ObjectSerializer # :nodoc:
      def serialize(duration)
        super("value" => duration.value, "parts" => Arguments.serialize(duration.parts))
      end

      def deserialize(hash)
        value = hash["value"]
        parts = Arguments.deserialize(hash["parts"])

        klass.new(value, parts)
      end

      private

        def klass
          ActiveSupport::Duration
        end
    end
  end
end

Version data entries

17 entries across 17 versions & 4 rubygems

Version Path
activejob-6.0.2.2 lib/active_job/serializers/duration_serializer.rb
argon-1.3.1 vendor/bundle/ruby/2.7.0/gems/activejob-6.0.2.1/lib/active_job/serializers/duration_serializer.rb
symbolic_enum-1.1.5 vendor/bundle/ruby/2.7.0/gems/activejob-6.0.2.1/lib/active_job/serializers/duration_serializer.rb
activejob-6.0.2.1 lib/active_job/serializers/duration_serializer.rb
activejob-6.0.2 lib/active_job/serializers/duration_serializer.rb
activejob-6.0.2.rc2 lib/active_job/serializers/duration_serializer.rb
activejob-6.0.2.rc1 lib/active_job/serializers/duration_serializer.rb
activejob-6.0.1 lib/active_job/serializers/duration_serializer.rb
chatops-rpc-0.0.2 fixtures/chatops-controller-example/vendor/bundle/ruby/2.5.0/gems/activejob-6.0.0/lib/active_job/serializers/duration_serializer.rb
activejob-6.0.1.rc1 lib/active_job/serializers/duration_serializer.rb
chatops-rpc-0.0.1 fixtures/chatops-controller-example/vendor/bundle/ruby/2.5.0/gems/activejob-6.0.0/lib/active_job/serializers/duration_serializer.rb
activejob-6.0.0 lib/active_job/serializers/duration_serializer.rb
activejob-6.0.0.rc2 lib/active_job/serializers/duration_serializer.rb
activejob-6.0.0.rc1 lib/active_job/serializers/duration_serializer.rb
activejob-6.0.0.beta3 lib/active_job/serializers/duration_serializer.rb
activejob-6.0.0.beta2 lib/active_job/serializers/duration_serializer.rb
activejob-6.0.0.beta1 lib/active_job/serializers/duration_serializer.rb