Module: ActiveJob::Temporal::PayloadSerializers::MessagePack

Extended by:
MessagePack
Included in:
MessagePack
Defined in:
lib/activejob/temporal/payload_serializers/message_pack.rb

Constant Summary collapse

NAME =
"message_pack"

Instance Method Summary collapse

Instance Method Details

#dump(payload) ⇒ Object



13
14
15
# File 'lib/activejob/temporal/payload_serializers/message_pack.rb', line 13

def dump(payload)
  envelope(Base64.strict_encode64(message_pack.pack(payload)))
end

#envelope?(payload) ⇒ Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/activejob/temporal/payload_serializers/message_pack.rb', line 25

def envelope?(payload)
  (payload[:payload_serializer] || payload["payload_serializer"]) == NAME
end

#load(payload) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/activejob/temporal/payload_serializers/message_pack.rb', line 17

def load(payload)
  normalize_top_level_keys(message_pack.unpack(serialized_data(payload)))
rescue StandardError => e
  raise if e.is_a?(ConfigurationError)

  raise ActiveJob::SerializationError, "Unable to deserialize MessagePack payload: #{e.message}"
end