123456789_123456789_123456789_123456789_123456789_

Class: ActiveJob::Serializers::RangeSerializer

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Inherits: ActiveJob::Serializers::ObjectSerializer
Defined in: activejob/lib/active_job/serializers/range_serializer.rb

Class Method Summary

ObjectSerializer - Inherited

Instance Attribute Summary

ObjectSerializer - Inherited

#deserialize

Deserializes an argument from a JSON primitive type.

#serialize?

Determines if an argument should be serialized by a serializer.

::Singleton - Included

#duplicable?

::Singleton instances are not duplicable:

Instance Method Summary

ObjectSerializer - Inherited

#klass

The class of the object that will be serialized.

#serialize

Serializes an argument to a JSON primitive type.

Constructor Details

This class inherits a constructor from ActiveJob::Serializers::ObjectSerializer

Instance Method Details

#deserialize(hash)

[ GitHub ]

  
# File 'activejob/lib/active_job/serializers/range_serializer.rb', line 14

def deserialize(hash)
  Range.new(*Arguments.deserialize([hash["begin"], hash["end"]]), hash["exclude_end"])
end

#klass

[ GitHub ]

  
# File 'activejob/lib/active_job/serializers/range_serializer.rb', line 18

def klass
  ::Range
end

#serialize(range)

[ GitHub ]

  
# File 'activejob/lib/active_job/serializers/range_serializer.rb', line 6

def serialize(range)
  super(
    "begin" => Arguments.serialize_argument(range.begin),
    "end" => Arguments.serialize_argument(range.end),
    "exclude_end" => range.exclude_end?, # Always boolean, no need to serialize
  )
end