Sha256: c279f1dd005cb8c7bae4163df29b089beed996528c4f25bc58a6c2074669911e

Contents?: true

Size: 592 Bytes

Versions: 20

Compression:

Stored size: 592 Bytes

Contents

# frozen_string_literal: true

require "active_job/serializers/object_serializer"

# :nocov:
module AcidicJob
  module Serializers
    class RangeSerializer < ::ActiveJob::Serializers::ObjectSerializer
      KEYS = %w[begin end exclude_end].freeze

      def serialize(range)
        args = Arguments.serialize([range.begin, range.end, range.exclude_end?])
        super(KEYS.zip(args).to_h)
      end

      def deserialize(hash)
        klass.new(*Arguments.deserialize(hash.values_at(*KEYS)))
      end

      private

      def klass
        ::Range
      end
    end
  end
end
# :nocov:

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
acidic_job-1.0.0.rc1 lib/acidic_job/serializers/range_serializer.rb
acidic_job-0.9.0 lib/acidic_job/serializers/range_serializer.rb
acidic_job-0.8.8 lib/acidic_job/serializers/range_serializer.rb
acidic_job-0.8.7 lib/acidic_job/serializers/range_serializer.rb
acidic_job-0.8.5 lib/acidic_job/serializers/range_serializer.rb
acidic_job-0.8.4 lib/acidic_job/serializers/range_serializer.rb
acidic_job-0.8.3 lib/acidic_job/serializers/range_serializer.rb
acidic_job-0.8.2 lib/acidic_job/serializers/range_serializer.rb
acidic_job-0.8.1 lib/acidic_job/serializers/range_serializer.rb
acidic_job-0.8.0 lib/acidic_job/serializers/range_serializer.rb
acidic_job-1.0.0.beta.10 lib/acidic_job/serializers/range_serializer.rb
acidic_job-1.0.0.beta.9 lib/acidic_job/serializers/range_serializer.rb
acidic_job-1.0.0.beta.8 lib/acidic_job/serializers/range_serializer.rb
acidic_job-1.0.0.beta.7 lib/acidic_job/serializers/range_serializer.rb
acidic_job-1.0.0.beta.6 lib/acidic_job/serializers/range_serializer.rb
acidic_job-1.0.0.beta.5 lib/acidic_job/serializers/range_serializer.rb
acidic_job-1.0.0.beta.4 lib/acidic_job/serializers/range_serializer.rb
acidic_job-1.0.0.beta.3 lib/acidic_job/serializers/range_serializer.rb
acidic_job-1.0.0.beta.2 lib/acidic_job/serializers/range_serializer.rb
acidic_job-1.0.0.beta.1 lib/acidic_job/serializers/range_serializer.rb