blob: 8969b31d6b87d2793b55eea3f3afb1eeb4960975 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# frozen_string_literal: true
module ActiveJob
module Serializers
# Provides methods to serialize and deserialize standard types
# (`NilClass`, `String`, `Integer`, `Fixnum`, `Bignum`, `Float`, `BigDecimal`, `TrueClass`, `FalseClass`)
class StandardTypeSerializer < BaseSerializer
class << self
def serialize?(argument)
::ActiveJob::Arguments::TYPE_WHITELIST.include? argument.class
end
def serialize(argument)
argument
end
alias_method :deserialize?, :serialize?
def deserialize(argument)
object = GlobalID::Locator.locate(argument) if argument.is_a? String
object || argument
end
end
end
end
end
|