Module: ActiveJob::Temporal::PayloadSerializers::Marshal
- Extended by:
- Marshal
- Included in:
- Marshal
- Defined in:
- lib/activejob/temporal/payload_serializers/marshal.rb
Constant Summary collapse
- NAME =
"marshal"
Instance Method Summary collapse
Instance Method Details
#dump(payload) ⇒ Object
13 14 15 |
# File 'lib/activejob/temporal/payload_serializers/marshal.rb', line 13 def dump(payload) envelope(Base64.strict_encode64(::Marshal.dump(payload))) end |
#envelope?(payload) ⇒ Boolean
26 27 28 |
# File 'lib/activejob/temporal/payload_serializers/marshal.rb', line 26 def envelope?(payload) (payload[:payload_serializer] || payload["payload_serializer"]) == NAME end |
#load(payload) ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'lib/activejob/temporal/payload_serializers/marshal.rb', line 17 def load(payload) # Marshal support is opt-in and only safe for trusted Temporal histories. # rubocop:disable Security/MarshalLoad normalize_top_level_keys(::Marshal.load(serialized_data(payload))) # rubocop:enable Security/MarshalLoad rescue StandardError => e raise ActiveJob::SerializationError, "Unable to deserialize Marshal payload: #{e.}" end |